全局命令
功能 | 命令 | 备注 |
---|---|---|
查看所有键 | keys * | o(n) |
键总数 | dbsize | o(1) |
检查键是否存在 | exists key | 存在返回1,否则0 |
删除键 | del [key1 key2 …] | 返回成功删除键的个数 |
键过期 | expire key seconds | 超过过期时间后,自动删除键 |
查看过期时间 | ttl key | >=0:剩余过期时间 ;-1:没有设置过期时间; -2:键不存在 |
查看键类型 | type key | 返回键的数据结构类型 |
查询内部结构编码 | object encoding key | 每种数据结构均有2种以上的内部编码实现 |
常用Redis命令集合
命令 | 功能 | 备注 |
---|---|---|
get | 获取单个键值 | n次get时间 = n次网络时间 + n次命令时间(以1秒处理万行命令例) |
mget | 批量获取键值 | 1次mget时间 = 1次网络时间+n次命令时间 注:单次mget数量过多可能造成Redis阻塞或者网络拥塞 |
Redis常用数据结构 tips
1.哈希类型内部实现:value大于64字节或field数据超过512个为hashtable;field数量较少且没有大的value为ziplist
2.哈希类型是稀疏的,每个键Key都可以有不同的Field,因而,不建议用Redis模拟关系型复杂查询
3.列表类型是用来存储多个有序的字符串,一个列表最多可存储2^32-1个元素,元素索引下标从左到右分别为0 ~ N-1,从右到左分别为-1 ~ -N,
4.从右往左添加数据 rpush key item1 item2 item3,和从左读数据的顺序一致 lrange key 0 -1
5.brpop与blpop 会在列表中没有元素的时候,阻塞n秒。如果在阻塞的过程中,其他client存入数值, 该client会显示最新存入的数值。