Redis的数据类型、设置key失效
string 字符串
- string是Redis最基本的类型,一个key映射一个value
- 是二进制安全的,可以存储图片、序列化对象等
- 最大存储512MB
单值缓存
set key value 存入键值对
append key value 在key对应的值后追加value,返回新长度
strlen key 获取key的长度
get key 取出key对应的value
del key 删除key
对象缓存(用于不修改对象)
set user:1 value(json 格式数据)
计数器
incr key 数值 + 1
decr key 数值 - 1
set gwc_sp1 1 设置购物车该商品个数
incr gwc_sp1 2 商品个数+2
decr gwc_sp1 1 商品个数-1
get gwc_sp1 获取商品个数
hash 散列
- string 类型的 field 和 value 的映射表
- 适合存储对象(修改对象)
- 底层的数据结构有压缩列表(ziplist)和哈希表(hashtable),当filed-value长度较短时使用压缩列表,较长则使用哈希表
存取一个哈希key的键值
hset key field value 存储一个哈希表 key 的键值
hget key field 获取哈希表 key 对应的 field 键值
创建一个user:zs1
的键,属性name,age,sex,并获取属性
存取多个哈希表的键值
hmset key field value [field value …] 存储多个键值对
hmget key field [field …] 获取哈希表 key 中多个 field 键值
删除哈希表 key 中的 field 键值
hdel key field [field …]
返回哈希表 key 中的 field 的数量
hlen key
返回key 的 所有属性 & 返回key 的 所有值
hkeys key 返回key 的 所有属性
hvals key 返回key 的 所有值
返回哈希表 key 中所有的键值
hgetall key
增加/减少的值
hincrby key field
- 正数 +
- 负数 –
list 列表
- 是简单的字符串列表
- 按插入顺序排序
- 可以添加到列表头部或尾部
命令
lpush key value[value...] 将一个或多个值插入到 key 列表的表头(最左边)
rpush key value[value...] 将一个或多个值插入到 key 列表的表尾(最右边)
lpop key 移除并返回 key 列表的头元素
rpop key 移除并返回 key 列表的尾元素
lrange key start stop 返回列表key中指定区间内的元素,区间以偏移量start和stop
llen key 返回 key 对应列表的长度
lpush
lrange
lpop,rpop
获取长度llen
常见用法
- Stack= Lpush + Lpop (FILO)
- Queue= Lpush + Rpop
使用场景:可以用来存储接收到的消息数据
set 集合(无序)
不允许重复元素
sadd key member[member...] 往集合 key 中存入元素,元素存在则忽略, 若 key 不存在则新建
srem key member[member...] 从集合 key 中删除元素
smembers key 获取集合 key 中所有元素
scard key 获取集合 key 的元素个数
Zset 有序集合
- Zset中的每个元素都会关联一个double类型的分数,Redis是通过分数来为集合中的成员进行排序。
- Zset的成员是唯一的,但是分数可以重复
向有序集合key中加入带分值元素
zadd key score member[[score member]..]
从有序集合key中删除元素
zrem key member[member...]
返回有序集合 key 中元素 member 的分值
zscore key member
返回有序集合key中元素member的分值加上increment
zincrby key increment member
返回有序集合key中元素个数
zcard key
正序获取有序集合key从start下标到stop下标的元素
zrange key start stop[withscores]
设置key失效
像缓存、验证码等临时数据,不必一直存在,若想要在一定时间内销毁它,可以使用Redis提供的对key设置过期时间的命令来做。
Redis中默认有效时间是-1,也就是永久有效。
1.设置值时就规定有效时间
ex
以秒为单位px
以毫秒为单位
set key value ex 20 设置20s有效期
ttl key 查看key剩余时间(s)
pttl key 查看key剩余时间(ms)
设置了20秒的有效时间,第二次再访问已经没有数据了
2.在已经有值时,给值规定有效时间
expire key 时间(s)
pexpire key 时间(ms)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/15587.html