Redis五大数据类型
Redis键
keys * 查看所有的key
exists key,判断key是否存在
expire key seconds 给key设置生存时间,当key过期后,会被自动删除
ttl key 查看该key还有多少秒过期, -1表示永不过期,-2表示已过期
type key 查看key的类型
String 字符串类型
set key value 设置值
get key 获取key
del key 删除值
exists key 查看key是否存在
append key value 对不存在的key进行append 相当于 set,对已存在的key进行append,字符拼接在后面
strlen key 获取字符串的长度
incr key 设置key值自增
decr key 设置key值自减
incrby key increment 按照增量每次自加
decrby key increment 按照增量每次自减
range [范围]
setrange 设置指定区间范围内的值,格式是setrange key 具体值
getrange 获取指定区间范围内的值,类似between…and的关系,从0到-1表示全部
setex(set with expire)键秒值
setnx(set if not exist)
setnx key value 如果key不存在就设置成功,返回1
setnx key value2 如果key已经存在,则设置失败,返回0
mset Mset 命令用于同时设置一个或多个 key-value 对
mget Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil
msetnx 当所有 key 都成功设置,返回 1 。 如果所有给定 key 都设置失败(至少有一个 key 已经存在),那么返回 0 。该命令是原子操作
getset 先get再set
如果没有旧值,返回nil ,有旧值,返回旧值
Hash (哈希,类似Java里的map)
哈希key-value 模式不变,但value是一个键值对
hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset、hget 命令用于为哈希表中的字段赋值
hmset、hmget 同时将多个field-value对设置到哈希表中。会覆盖哈希表中已存在的字段。
hgetall 用于返回哈希表中,所有的字段和值。
hdel 用于删除哈希表 key 中的一个或多个指定字段
hlen 获取哈希表中字段的数量
hexists 查看哈希表的指定字段是否存在。
hkeys 获取哈希表中的所有域(field)
hvals 返回哈希表所有域(field)的值。
hincrby 为哈希表中的字段值加上指定增量值
hsetnx 为哈希表中不存在的的字段赋值 。
List (列表)
lpush:将一个或多个值插入到列表头部。(左)
rpush:将一个或多个值插入到列表尾部。(右)
lrange:返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。
1、其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。
2、也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此
类推。
lpop 命令用于移除并返回列表的第一个元素。当列表 key 不存在时,返回 nil
rpop 移除列表的最后一个元素,返回值为移除的元素。
lindex,按照索引下标获得元素(-1代表最后一个,0代表是第一个)
llen 用于返回列表的长度
lrem key 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。
Ltrim key 对一个列表进行修剪(trim)
让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除
rpoplpush 移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
lset key index value 将列表 key 下标为 index 的元素的值设置为 value
index 超出范围会报错
linsert key before/after value value1
用于在列表的元素前或者后插入元素
将值value1插入到列表key当中,位于值value之前或之后
Set (集合)
sadd 将一个或多个成员元素加入到集合中,不能重复
smembers 返回集合中的所有的成员
sismember 判断成员元素是否是集合的成员
scard,获取集合里面的元素个数
srem key value 用于移除集合中的一个或多个成员元素
srandmember key 命令用于返回集合中的一个随机元素
spop key 用于移除集合中的指定 key 的一个或多个随机元素
smove set1 set2 k
将指定元素k从set1集合移动到set2集合
集合类
差集: sdiff
交集:sinter
并集: sunion
Zset(sorted set :有序集合)
在set基础上,加一个score值,
set是k1 v1,v2,v3的形式,
zset是k1 score1 v1 ,score2 v2的形式
zadd 将一个或多个成员元素及其分数值加入到有序集当中
zrange 返回有序集中,指定区间内的成员
zrangebyscore 返回有序集合中指定分数区间的成员列表。有序集成员按分数值递增(从小到大)次序排列
+inf无穷大量﹢∞
-inf无穷小量﹣∞
-
显示整个有序集
-
递增排列
-
递减排列
-
条件 ,显示分数小于2500的成员