String数据类型的应用场景

1. 简介

  string 类型是 Redis 中最基本的数据类型,最常用的数据类型,甚至被很多玩家当成 redis 唯一的数据类型去使用。string 类型在 redis 中是二进制安全(binary safe)的,这意味着 string 值关心二进制的字符串,不关心具体格式,你可以用它存储 json 格式或 JPEG 图片格式的字符串。   

2. 数据模型

  string 类型是基本的 Key-Value 结构,Key 是某个数据在 Redis 中的唯一标识,Value 是具体的数据。

KeyValue
‘name’‘redis’
‘type’‘string’

3. 应用场景

(1) 存储 MySQL 中某个字段的值

把 key 设计为 表名:主键名:主键值:字段名 eg.

set user:id:1:email 10000@qq.com

(2) 存储对象

string 类型支持任何格式的字符串,应用最多的就是存储 json 或其他对象格式化的字符串。(这种场景下推荐使用 hash 数据类型)

set user:id:1 '[{"id":1,"name":"zj","email":"10000@qq.com"},{"id":1,"name":"zj","email":"10000@qq.com"}]'

(3) 生成自增 id

当 redis 的 string 类型的值为整数形式时,redis 可以把它当做是整数一样进行自增(incr)自减(decr)操作。由于 redis 所有的操作都是原子性的,所以不必担心多客户端连接时可能出现的事务问题。

incr 对值进行加1操作,如果不是整数,返回错误,如果不存在按照从0开始decr 同incr,但是是减1操作incrby,decrby ,增加减去指定的数

应用场景:比如视频播放次数,点赞次数。

(4)共享session

数据共享的功能,redis作为单独的应用软件用来存储一些共享数据供多个实例访问。

单点登录的一个具体实现

(5)自动定时过期删除

set key value [ex seconds] [px millseconds] [nx|xx]

ex seconds: 键过期时间

px milliseconds: 为键设置毫秒级过期时间

nx: 键必须不存在才可以设置成功,用于添加

xx: 键必须存在,才可以设置成功,用于更新

(6)批量操作

mset,mget

批量设置和获取命令,在操作多个key的时候可以节省网络传输时间

mset key value [key value...]
mget key [key ...]

 

最新回复(0)
/jishu2RFMQs4N7ysa_2BfdFkdrfauYy9mmzmwtCZ7iTt6LB3nk_3D
8