五大数据类型
String(字符串)
append:字符串后面追加内容
如果append后面的key不存在,将相当于set
strlen:获取字符串长度
incr和decr:加一和减一的操作
步长
范围查找
范围替换
设置key的同时设置过期时间
这里设置的key为sex,过期时间为10秒,值为male
setnx:如果key不存在才设置
批量设置值
批量获取值
msetnx
由于msetnx是原子性操作,要么一起成功,要么一起失败,所以这里k4并不会创建
getset:先获取再设置
List(列表)
在redis里面,我们可以把list玩成栈、队列、阻塞队列
所有的list命令都是用l开头的
添加值和范围获取
lpush:将一个或者多个值插入列表的头部
lrange:范围查询
rpush:列表尾部插入一个值或多个值(右)
ps:Redis命令不区分大小写
lpop:头部移除一个元素
rpop:尾部移除一个元素
lindex 根据下标获取值
查看列表长度:llen
lremove:移除指定的元素
后面可以跟移除的个数
ltrim:通过下标截取指定长度,list会被修改,只剩下截取的元素
rpoplpush:尾部弹出一个元素到新列表中
exists:判断列表是否存在
lset:更新某个位置的值
不存在会报错
linsert:在某个值的前面或者后面插入某个值
Set(集合)
set中的值是不能重复的
sadd:添加元素
smembers:查看集合中元素
sismember:查看集合是否包含某个元素
存在返回1,不存在返回0
scard:获取集合中元素个数
srem:移除某个元素
srandmember:随机获取一个或多个元素
spop:随机弹出一个元素
smove: 移动指定元素到另一个集合
diff:差集
sinter:交集
sunion:并集
Hash(哈希)
Map集合,key-map,值是一个map集合
hset和hget:设置和获取
设置和获取多个值
hmset和hmget
hgetall:获取所有的数据
删除某个元素:hdel
hlen:查看有多少键值对
hexists:判断某个元素是否存在
hkeys:获取所有的key
hvals:获取所有的值
hincrby:指定增量
hsetnx:不存在才创建
ZSet(有序集合)
添加和查看
zadd和zrange
zrangebyscore:根据score从小到大排序
根据score从小到大排序,并且带score:
根据score从大到小排序,并且带score
显示工资小于2500员工共的升序排序
zrem:移除某个元素
zcard:查看元素个数
zcount:统计某个范围内有多少值