一个字符类型的key默认存储的最大容量是512M
赋值和取值
SET key value
GET key
incryby key increment 递增指定的整数
decr key 原子递减
append key value 向指定的key追加字符串
strlen key 获得key对应的value的长度
mget key key.. 同时获得多个key的value
mset key value key value key value …
setnx
Redis
存储结构
字符
常用命令
一个字符类型的key默认存储的最大容量是512M
赋值和取值
SET key value
GET key
incryby key increment 递增指定的整数
decr key 原子递减
append key value 向指定的key追加字符串
strlen key 获得key对应的value的长度
mget key key.. 同时获得多个key的value
mset key value key value key value …
setnx
短信重发机制
列表
有序字符串
实现分布式队列
命令
LPUSH/RPUSH: 从左边或者右边push数据
LPUSH/RPUSH key value value …
{17 20 19 18 16}
llen num 获得列表的长度
lrange key start stop ; 索引可以是负数, -1表示最右边的第一个元素
lrem key count value
lset key index value
LPOP/RPOP : 取数据
散列
存储对象
命令
hset key field value
hget key filed
hmset key filed value [filed value …] 一次性设置多个值
hmget key field field … 一次性获得多个值
hgetall key 获得hash的所有信息,包括key和value
hexists key field 判断字段是否存在。 存在返回1. 不存在返回0
hincryby
hsetnx
hdel key field [field …] 删除一个或者多个字段
集合
无序不重复
命令
sadd key member [member ...] 增加数据; 如果value已经存在,则会忽略存在的值,并且返回成功加入的元素的数量
srem key member 删除元素
smembers key 获得所有数据
sdiff key key … 对多个集合执行差集运算
sunion 对多个集合执行并集操作, 同时存在在两个集合里的所有值
有序集合
zadd key score member
zrange key start stop [withscores] 去获得元素。 withscores是可以获得元素的分数
如果两个元素的score是相同的话,那么根据(0<9<A<Z<a<z) 方式从小到大
网站访问的前10名。
功能
设置超时
expire key seconds
ttl 获得key的过期时间
事务处理
MULTI 去开启事务
EXEC 去执行事务
发布订阅模式
实现分布式锁
锁解决问题
线程安全
文件安全
数据安全性
lua脚本使用
应用场景
数据缓存
单点登录
秒杀、抢购
网站排名访问
多路复用机制