Redis系统学习之五大基本数据类型(String(字符串))
String(字符串)
存入值
- set key value
获取值
- get key
追加值(如果key不存在,相对于新建set)
- append key value
查看长度
- strlen key
实现计数器(浏览量,播放量可以存redis,最后持久化到Mysql)
- 累加
- incr key
- 累减
- decr key
- 设置带步长的累加和累减
- incrby key number || decrby key number
截取字符窜
- getrange key startindex endindex
- 如果是-1,找不到就是全部的
替换字符串
- setrange key startindex value
- startindex 从哪个下标开始替换 根据value的值决定替换几个字符
设置过期时间
- setex(set with expire)
- setex key seconds value
- 设置30秒过期
不存在再设置(分布式锁)
- setnx(set if not exists)
- setnx key value
- 返回1代表设置成功,返回0代表设置失败,只有删除后,才可以重新设置
批量设值和批量取值
- mset key value[k v循环,空格切分]
- mget key[k循环,空格切分]
批量设值nx(原子的)
- msetnx key value[k v循环,空格切分]
- 一个失败全部失败
- 没有mgetnx
先获取再设值
- getset key value
- 第一次没有,获取到是空的,并且把redis设值到db key->第二次是获取到redis并把Mongodb设值到db key
使用场景:
- value除了可以是字符串之外也可以是数字
- 常用的计数器,浏览量等都可以采用string来做
- 对象JSON存储
- 案例
- 设计用户的粉丝数量,关注数量,浏览数量
- uid:382893:粉丝数量 0 有人关注后就 incr 有人取关就 decr
- uid:382893:关注数量 0
- uid:382893:浏览数量 0
- 每隔一段时间可以持久化到Mysql
作者:彼岸舞
时间:2021\05\05
内容关于:Redis
本文属于作者原创,未经允许,禁止转发