当前位置: 首页 > news >正文

第二章 Redis介绍及安装

1、Redis概述

Redis(远程字典服务器),是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行,并支持持久化。是当前比较热门的NOSQL数据库之一,也被人们称之为数据机构服务器。

它提供了很多键值数据类型以用来适应不同场景下的存储需求,在目前Redis所支持的数据类型包括:

  • 字符串类型

  • 散列类型

  • 列表类型

  • 集合类型

  • 有序集合类型

  • 坐标类型

学习参考网站:Redis 教程 | 菜鸟教程

2、Redis作用

  • 内存存储和持久化:redis支持异步将内存中的数据写入到磁盘中,同时不影响继续服务

  • 取最新N个数据的操作,可以将排行或者指定信息保存在Redis集合容器内

  • 模拟类似于HttpSession(会话对象)这种需要设定过期时间的功能

  • 定时器 计数器

  • 消息的订阅和消息的发布(消息队列 主从配置)

3、Redis特点

  • 性能非常高:Redis读取速度11W次/s,写入速度8W次/s

  • 非常丰富的数据类型 :String List Hash Set ZSet等等数据类型操作

  • 原子性:Redis内所有操作都是原子性的,意味着要么成功执行,要么失败完全不执行。单个操作是原子性的,多个操作也支持事务。

  • 数据持久化:可以将内存中的数据保存在磁盘内,重启的时候可以加载进行使用

  • 其他:Redis还支持publish/subscribe 通知,key值生命周期的管理,提供了目前主流编程语言的API接口

4、Redis获取地址

https://redis.io
http://www.redis.cn

5、Redis的安装

方式一:本地安装

#步骤1:访问官网
https://redis.io/
#步骤2:选择本地安装
GET STARTED ====> install ====> Install from source
#步骤3:下载
# >> wget https://download.redis.io/redis-stable.tar.gz
#步骤4:解tar
# >> tar -xzvf redis-stable.tar.gz
#步骤5:编译器的安装
# >> make
# >> make install
#步骤6:安装CC控件
# >> dnf install gcc*
#步骤7:再次编译安装
# >> make install
#步骤8:再次发生问题需要找到README.md配置文件 找到 make malloc = libc
# >> make MALLOC = libc
#步骤9:再次编译安装
# >> make install

如果提示为:
Hint: It's a good idea to run 'make test' ;)
    INSTALL redis-server
    INSTALL redis-benchmark
    INSTALL redis-cli
意味着安装成功。

#步骤10:开启服务
# >> redis-server

方式二:yum安装

yum install redis -y

警告1:内存复用开启问题

解决方案:

打开/etc/sysctl.conf

写入vm.overcommit_memory=1保存

刷新sysctl -p 

警告2:未指定配置文件,使用默认配置文件

使用指定配置文件redis-server /path/to/redis.conf

问题3:最大的打开文件数 增减10032(初始值1024)

设置方式:

vim /etc/security/limits.conf

追加两句并保存

root soft nofile 10032

root hard nofile 10032

相关文章:

  • 前端常见标签
  • Android systemui 编译
  • 参考数据集INRIA Holidays dataset
  • GO EASY 框架 之 NET 05
  • Banana Pi BPI-R4开源路由器开发板快速上手用户手册,采用联发科MT7988芯片设计
  • 2024 高级前端面试题之 HTTP模块 「精选篇」
  • vscode实时预览markdown效果
  • 类银河恶魔城学习记录1-5 CollisionCheck源代码 P32
  • 基于WordPress开发微信小程序2:决定开发一个wordpress主题
  • P8706 [蓝桥杯 2020 省 AB1] 解码--2024蓝桥杯冲刺省一
  • Javascript第八个知识点:函数
  • 华为数通方向HCIP-DataCom H12-831题库(填空题)
  • MySQL运维实战(5.3) MySQL数据乱码的一些情况
  • 【YAML语法规范指南】从入门到精通,揭秘神秘语法,引领配置文件解析指南(基础结构篇)
  • H5 简约四色新科技风引导页源码
  • 深入了解以太坊
  • C学习-枚举(九)
  • ECS应用管理最佳实践
  • Netty 4.1 源代码学习:线程模型
  • Python学习之路13-记分
  • Sequelize 中文文档 v4 - Getting started - 入门
  • sublime配置文件
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 从零开始在ubuntu上搭建node开发环境
  • 翻译--Thinking in React
  • 详解NodeJs流之一
  • 小李飞刀:SQL题目刷起来!
  • 一个SAP顾问在美国的这些年
  • 一些css基础学习笔记
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 主流的CSS水平和垂直居中技术大全
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • #162 (Div. 2)
  • #Linux(帮助手册)
  • #Ubuntu(修改root信息)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $.ajax中的eval及dataType
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)SpringCloud 整合Python
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (十一)手动添加用户和文件的特殊权限
  • (四)Linux Shell编程——输入输出重定向
  • (一)为什么要选择C++
  • (转)jQuery 基础
  • (转)nsfocus-绿盟科技笔试题目
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .net core使用ef 6
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net 路由处理厉害了
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)