安装
yum update
yum install redis.x86_64
systemctl start redis.service
redis-cli
配置
查看配置
-
配置文件whereis redis
-
读取配置config get *
配置说明
Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程
指定 Redis 监听端口
绑定的主机地址
当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 notice
日志记录方式,默认为标准输出,如果配置 Redis 为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给 /dev/null
设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库id
指定在多长时间内,有多少次更新操作,就将数据同步到数据文件
设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息
指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区
类型
- 字符串
- 哈希
- 列表
- 集合
- 有序集合
使用
键
1
2
3
4
5
6
7
8
|
DEL key //删除key
EXISTS key //是否存在
EXPIRE key seconds //设置过期时间
KEYS pattern //返回所有匹配的键值
TTL key //返回key的剩余过期时间,秒为单位
PERSIST key //移除key的过期时间
RENAME key newkey //key的重命名
TYPE key //返回key的存储的值的类型
|
字符串
1
2
3
4
5
6
7
8
9
10
|
SET key value //设置key的值value
GET key //获取key的值
GETSET key value //设置key的值,返回key的旧值
MGET key1 key2 //同时获取多个key
SETEX key seconds value //对key设置value和时间seconds
SETNX key value //针对不存在的key设置值value
INCR key //针对key增加一,key之前不存在也可以使用
INCRBY key increment //针对key增加increment
DESC key
DESCBY key decrement
|
哈希
1
2
3
4
5
6
7
|
HDEL key field1 field2 //删除一个或多个哈希表字段
HEXISTS key field //哈希表中是否存在
HGET key field //获取哈希表字段的值
HGETALL key //获取哈希表中key的所有字段和值
HSET key field value //设置值
HKEYS key //获取哈希表中所有字段
HVALS key //获取哈希表中所有字段的值
|
列表
1
2
3
4
5
6
7
8
9
10
|
LSET key index value //通过索引设置列表元素的值
LINDEX key index //通过索引获取列表中的元素
LINSERT key BEFORE|AFTER pivot value //在列表的元素前或者后插入元素
LLEN key //获取列表长度
LPOP key //移出并获取列表的第一个元素
LPUSH key value1 value2 //将一个或多个值插入到列表头部
LPUSHX key value //将一个值插入到已存在的列表头部
RPOP key //移除列表的最后一个元素,返回值为移除的元素。
RPUSH key value1 value2 //在列表中添加一个或多个值
RPUSHX key value //为已存在的列表添加值
|
集合
1
2
3
4
5
6
7
|
SADD key member1 member2 //向集合添加一个或多个成员
SCARD key //获取集合的成员数
SISMEMBER key member //判断 member 元素是否是集合 key 的成员
SMEMBERS key //返回集合中的所有成员
SPOP key //移除并返回集合中的一个随机元素
SRANDMEMBER key count //返回集合中一个或多个随机数
SREM key member1 member2 //移除集合中一个或多个成员
|
有序集合
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
ZADD key score1 member1 score2 member2 //向有序集合添加一个或多个成员,或者更新已存在成员的分数
ZCARD key //获取有序集合的成员数
ZCOUNT key min max //计算在有序集合中指定区间分数的成员数
ZINCRBY key increment member //有序集合中对指定成员的分数加上增量 increment
ZLEXCOUNT key min max //在有序集合中计算指定字典区间内成员数量
ZRANGEBYLEX key min max LIMIT offset count //通过字典区间返回有序集合的成员
ZRANGEBYSCORE key min max WITHSCORES LIMIT //通过分数返回有序集合指定区间内的成员
ZRANK key member //返回有序集合中指定成员的索引
ZREM key member1 member2 //移除有序集合中的一个或多个成员
ZREMRANGEBYLEX key min max //移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYRANK key start stop //移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE key min max //移除有序集合中给定的分数区间的所有成员
ZREVRANGE key start stop WITHSCORES //返回有序集中指定区间内的成员,通过索引,分数从高到低
ZREVRANGEBYSCORE key max min WITHSCORES //返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANK key member //返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZSCORE key member //返回有序集中,成员的分数值
|
后续
- 源码分析
- 事务
- 数据备份和恢复
- 分布式架构
参考
- Redis 教程