- REmote DIctionary Server:数据结构服务器,k/v,数据结构;
- Redis 是一个开源(BSD许可)的,内存存储、数据结构存储系统,它能够用做数据库、缓存和消息中间件(消息队列)。
- 它支持的数据结构:字符串、列表(数组)、hashes(关联数组)、集合、有序集合、bitmaps、hyperloglogs、空间索引;
- 内建的复制功能、Lua scripting(著名的脚本编程语言,容易内嵌入其余语言)、LRU、事务、持久存储、高可用(Sentinel,Redis Cluster)
- 最新版程序,能够选择官网下载,编译安装。
- 也能够使用yum epel仓库,
yum install redis
- 配置文件:/etc/redis.conf
- 服务端-主程序:/usr/bin/redis-server 默认端口 TCP:6379
- 客户端:/usr/bin/redis-cli
- Unit File:/usr/lib/systemd/system/redis.service
- 数据目录:/var/lib/redis
- Redis性能测试工具:redis-benchmark
- AOF文件修复工具:redis-check-aof
- RDB文件检查工具:redis-check-rdb
- Sentinel服务器:redis-sentinel
- Redis.conf 配置文件分为:通用基本配置项、网络配置项、持久化相关配置、复制相关的配置、安全相关配置、Limit相关的配置、SlowLog相关的配置、INCLUDES、Advanced配置
通用配置html
网络配置redis
安全配置算法
Limits数据库
volatile-lru # 对设置了过时时间的keys,使用 LRU最近最少使用算法去淘汰。 allkeys-lru # 全部keys,使用LRU最近最少使用算法去淘汰。 volatile-random # 对设置了过时时间的keys,随机淘汰。 allkeys-random # 全部keys中,退机淘汰 volatile-ttl # 对过时时间中剩余时间多少,淘汰快到期的。 noeviction # 默认策略,不淘汰,若是内存已满,添加数据是报错。
SlowLog相关配置编程
ADVANCED配置数组
hash-max-ziplist-value 64 这些键值对里的值,最大长度64字节。缓存
client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60
@strings 只处理值为字符串的命令组安全
@lists 处理列表的命令组服务器
Server相关命令网络
Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
-h HOST, 127.0.0.1 -p PORT, 6379/tcp -a PASSWORD -n DBID 0-15
与Connection相关命令:
help @connection AUTH <password> ECHO <message> PING QUIT SELECT dbid
清空数据库:
FLUSHDB:Remove all keys from the current database 清空当前数据库; FLUSHALL:Remove all keys from all databases 清空全部数据库;
RDB
AOF:Append Only File, fsync
AOF相关的配置
(1) BGSAVE和BGREWRITEAOF不会同时进行;(2) Redis服务器启动时用持久化的数据文件恢复数据,会优先使用AOF;