Redis学习之五大数据类型常用命令
1.常用命令
1.select n 切换数据库0~15
2.dbsize 查看当前数据库key的数量
3.Flushdb 清空当前库
4.Flushall 清空所有库
2.Redis键
1.keys * 查看所有的key
2.get key名 查看该key的值
3.keys k? 查看以k开头的两位key
4.exists key名 判断该Key是否存在
5.move key名 数据库号(0~15) 将该键移到别的库
6.expire key名 秒数 设置过期时间
7.ttl key名 查看该键还有多少秒过期,-1表示永不过期,-2表示已过期
3.Redis字符串(String)
1.set key名 值 设置值
2.get key名 获取该key的值
3.del key名 删除该键
4.append key名 新值 在旧值后拼接新值
5.strlen key名 查询值的长度
6.incr/decr key名 对该key对应的值加减1
7.incrby/decrby key名 n 对该Key加减n
8.getrange key名 起始下标 终止下标 就是取子串
9.setrange key名 起始下标 新值 用新值替代该下标下的旧值
10.setex Key名 秒数 值 该key在多少秒后自动过期
11.setnx key名 值 如果key中原来无值再赋值,有的话就不赋值啦
12.mset/mget/msetnx 同时可以操作多个数据,用法和上面的类似
13.getset key名 新值 获取旧值,再将新值覆盖旧值
4.Redis列表(List)
1.rpush与上图同理,只不过从右侧开始存储,存储顺序相反
2.lindex key名 下标 找到该列表对应元素
3.llen ket名 找到该列表的长度
4.lrem key名 删除个数n 删除的值v 从左往右删除n个等于v的值,n为0的话默认删除所有
5.ltrim key名 起始下标 终止下标 剔除该范围的值
6.rpoplpush 源列表 目的列表 将原列表的值pop出来再添加到目的列表中
7.lset key名 列表下标 值 替换对应下标的值
8.insert key名 before/after 旧值 新值 在第一个旧值前或后添加新值
5.Redis集合(Set)
1.sadd key名 v1 v2 ... v3 添加set
2.smenmbers key名 列举set中的所有数据
3.sismember key名 值 判断该值是否存在于set中
4.scard key名 查询set集合数据个数
5.srem key名 v 移除set集合中等于v的数
6.srandmember key名 整数n 在set集合中随机取出n个数
7.spop key名 set集合数据随机出栈(1个)
8.smove key名s1 key名s2 值v 将s1中的v移至s2中
9.sdiff/sinter/sunion key名k1 ... key名kn 取差集/交集/并集
6.Redis哈希(Hash)
使用KV模式,只不过这里的V的数量不固定,如hset user name zeng age 20
hset user name zeng age 20 创建key
hget user name 获取user的name值
hmset user name ren age 16 一次更改多组值
hmget user name age 一次获取多个值
hgetall user 获取该键的所有数据
hdel user name 删除user的name属性
hlen user 查看user多少属性
hexists user name 判断user是否包含name属性
hkeys user 获取user的所有属性名
hvals user 获取user的所有属性值
hincrby user age n 将age值加n
hincrbyfoat user age n 将age值加n
hsetnx user age n 如果user不存在age,则添加并将值赋值为n
7.Redis有序集合Zset(sorted set)
比原来的set多加了score
zadd zset1 60 v1 70 v2 80 v3 创建zset,后面加的是score
zrange/zrevrange zset1 0 -1 [withscores] 这句话的意思是获取所有的zset(包括score)数据
zrangebyscore/zrevrange zset1 60 80 获取score在这个范围的所有值
zrem zset1 v2 删除zset集合中的v2
zcard zset1 查询集合中元素个数
zcount zset1 60 80 查询在对应分数区间的个数
zscore zset1 v1 查询v1值对应的score
zrank/zrevrank zset1 v1 查询v1在zset1中的下标/倒序下标