参考:https://www.runoob.com/redis/redis-tutorial.html
一、Redis简介
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
二、Redis安装
下载地址:http://redis.io/download,下载版本 redis-4.0.11.tar.gz
1、安装
[root@redis01 ~]# yum install -y gcc [root@redis01 ~]# tar xf redis-4.0.11.tar.gz -C /usr/local [root@redis01 ~]# cd /usr/local/redis-4.0.11/ [root@redis01 redis-4.0.11]# make MALLOC=libc [root@redis01 redis-4.0.11]# make install PREFIX=/usr/local/redis-4.0.11
2、命令介绍
redis-server 启动redis服务 redis-cli redis客户端工具 redis-benchmark redis性能测试 redis-check-rdb 检测rdb文件 redis-check-aof 检测aof日志文件
3、启动
[root@redis01 ~]# mkdir /usr/local/redis-4.0.11/conf [root@redis01 ~]# cd /usr/local/redis-4.0.11/ [root@redis01 redis-3.2.9]# cp redis.conf ./conf/ [root@redis01 ~]# /usr/local/redis-4.0.11/src/redis-server /usr/local/redis-4.0.11/conf/redis.conf & [root@redis01 ~]# ss -antp | grep :6379 LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=9612,fd=4))
启动服务时内核参数说明: 1、/proc/sys/net/core/somaxconn 定义了系统中每一个端口最大的监听队列的长度,默认为128. 对于大多数需要处理高并发连接的应用来说,该值太小,建议修改为1024或者更大 2、overcommit_memory 规定决定是否接受超大内存请求的条件。这个参数有三个可能的值: 0 — 默认设置。内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。遗憾的是因为内存是使用启发式而非准确算法计算进行部署,这个设置有时可能会造成系统中的可用内存超载。 1 — 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。 2 — 内存拒绝等于或者大于总可用 swap 大小以及 overcommit_ratio 指定的物理 RAM 比例的内存请求。如果您希望减小内存过度使用的风险,这个设置就是最好的。 3、/sys/kernel/mm/transparent_hugepage/enabled 禁止使用huge page
4、配置
配置文件:/usr/local/redis-4.0.11/conf/redis.conf
1、指定额外的配置文件 # include /path/to/local.conf # include /path/to/other.conf 2、设置redis监听的IP地址 bind 192.168.122.101 3、设置redis进程接收的TCP队列长度 tcp-backlog 511 同时修改内核参数/proc/sys/net/core/somaxconn 4、设置客户端空闲连接超时时间, 0表示不设置 timeout 0 5、设置redis启动时作为后台服务运行 daemonize yes 6、指定pid文件 pidfile /var/run/redis_6379.pid 7、设置日志级别及日志文件 loglevel notice logfile "" 8、设置数据库的数量 0--15 databases 16 9、设置redis保存数据的频率 save 900 1 save 300 10 save 60 10000 redis保存数据的方式: save, 会阻塞(block)客户端连接请求 bgsave 10、当bgsave发生error时,停止写操作 stop-writes-on-bgsave-error yes 11、启用压缩 rdbcompression yes 12、设置rdb数据文件名称及存放目录 dbfilename dump.rdb dir /usr/local/redis/data 13、设置并发连接 maxclients 10000 14、设置redis最大使用的内存 # maxmemory <bytes> //建议为物理内存的3/5 15、启用redis aof功能 appendonly yes appendfilename "appendonly.aof"