redis基础数据类型
-
redis是一种高级的key:value存储系统,其中value支持五种数据类型
- 字符串(strings)
- 散列(hashes)
- 列表(lists)
- 集合(sets)
- 有序集合(sorted sets)
-
基本命令
keys * 查看所有key type key 查看key类型 expire key seconds 设置过期时间 #expire xk 60 ttl key 查看key过期剩余时间 -2表示key已经不存在了 persist 取消key的过期时间 -1表示key存在,没有过期时间 exists key 判断key存在 存在返回1 否则0 del keys 删除key 可以删除多个 dbsize 计算key的数量
-
strings类型
set 设置key get 获取key append 追加string mset 设置多个键值对 mget 获取多个键值对 del 删除key incr 递增+1 #没有类型限制 str和int都可以 decr 递减-1
-
list类型
lpush 从列表左边插 rpush 从列表右边插 lrange 获取一定长度的元素 lrange key start stop lrange S21 0 -1 ltrim 截取一定长度列表 ltrim S21 0 3 #索引0-3 截取 其余删除 lpop 删除最左边一个元素 rpop 删除最右边一个元素 lpushx/rpushx key存在则添加值,不存在不处理
-
set类型
- redis的集合,是一种无序的集合,集合中的元素没有先后顺序。
sadd/srem 添加/删除 元素 sismember 判断是否为set的一个元素 smembers 返回集合所有的成员 sdiff 返回一个集合和其他集合的差异 sinter 返回几个集合的交集 sunion 返回几个集合的并集
-
有序集合
zadd benghuai 70 kiana #70是成绩 zreverange 倒序 zrange 正序 #zrange beng 0 -1 zcard 返回zset的元素个数 zscore 返回元素对应的值 #zscore beng jizi zrank 返回排名,默认是按照score 从小到大排序 zrem 移除这个集合对应的值 #zrem beng jizi
-
哈希数据结构
hset 设置散列值 # hset arknights name 'aneng' age '17' weapon 'gun' hget 获取散列值 # hget arknights name hmset 设置多对散列值 #用法和hset相同 hmget 获取多对散列值 # hmget arknights name age weapin hsetnx 如果散列已经存在,则不设置(防止覆盖key) hkeys 返回所有keys hvals 返回所有values hlen 返回散列包含域(field)的数量 hdel 删除散列指定的域(field) hexists 判断是否存在