Redis常用指令
redis 数据类型
(一)string(字符串)
赋值
set name chengxiaoning 设置指定key的值
mset age 18 sex 男 设置多个
取值 get name 获取指定的key的值
mget number name 获取多个值
先获取在设置 getset name guoxiaoxiao 将给定key设置为value的值,并返回key的旧值
删除 del name 删除key的值 如果有执行成功返回1 失败返回0
加一 incr number 指定key的值自增1
减一 decr number 指定key的值减1
指定加值 incrby number 5 将key所存储的值加上给定的增加值
指定减值 decrby number 3 将key所存储的值加上给定的减值
拼凑 append a 123
getrange 返回 key 中字符串值的子字符
(二)hash(哈希)
每个 hash 可以存储 232 -1 键值对(40多亿)。
赋值 hset hmset
hash1 name zhangsan 设置给定的key的value
hmset hash2 name lisi age 18 sex nan 设置多个
取值 hget hmget hgetall
hget hash1 name 获取存储在哈希表中指定字段的值
hmget hash2 name age sex 获取多个
hgetall hash2 获取所有的
删除 hdel del
hdel hash2 name 删除指定的字段
del hash2 删除指定所有
增加
hincrby hash1 age 5
hexists hash1 age 查看哈希表 key 中,指定的字段是否存在。
hlen hash1 获取哈希表中字段的数量
hkeys hash1 获取所有哈希表中的字段
hvals hash1 获取哈希表中所有值
(三)list(列表)
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
两端添加
lpush mylist a b c 将一个或多个元素插入到列表头部
rpush mylist a b c 将一个或多个元素插入到列表尾部
查看
lrange mylist 0 3 获取列表指定范围内的元素
开始 结束 结束-1 为全部
两端弹出
lpop mylsit 移除并获取列表的第一个值
rpop mylsit 移除并获取列表的最后一个值
获取列表个数
llen mylist 获取列表的长度
仅当存在时才插入 lpushx mylist q 当mylist存在的时候,将p插入到头部
仅当存在时才插入 rpushx mylist q 当mylist存在的时候,将p插入到尾部
删除
lrem mylist 2 a
在指定元素前【后】插入元素 linsert mylist before[after] b 11; 在b之后(之前)插入元素
rpoplpush mylist mylist2 从一个列表中弹出一个值压入到另一个列表中
(四)set(集合)
添加 sadd myset a b c
删除 srem myset a b
查看 smembers myset
是否存在 sismember myset a myset中a是否存在
差集 sdiff myset1 myset2
交集 sinsert myset1 myset2
并集 sunion myset myset2
长度 scard myset
随机返回成员 srandmemberset myset
差集存入变量 sdiffstore myset1 myset2 myset3 将myset2和myset3中的相差的值存入myset1中
交集存入变量 sinterstore myset1 myset2 myset3 将myset2和myset3中的交集的值存入myset1中
并集存入变量 sunionstore myset1 myset2 myset3 将myset2和myset3中的并差的值存入myset1中
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
(五)zset(sorted set:有序集合)
redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
添加 zadd mysort 70 张三 80 李四 90王五
取值 zcore myset 张三
zcard mysort 成员数量
删除 zrem mysort 张三 李四
zrevrand mysort 0 4 按照范围删除
zremrangbyscore mysort 80 100 删除80到100之间的分数
范围查找 zrang mysort 0 -1全部的内容
zrem mysort 0 -1 全部
zrang mysort 0 -1 withscores 元素对应的分数
zrangbyscore mysort 1 100 withscores
zincrby mysort 3 list 给list+3
zcount mysort 80 90 统计80 到90之间有多少