引用: https://mp.weixin.qq.com/s/65jTyTK7Pj5Yc4ddPZBHEg

redis 特点

  1. 所有数据存储在内存中,高速读写
  2. 提供丰富多样的数据类型:string、 hash、 set、 sorted set、bitmap、hyperloglog
  3. 提供了 AOF 和 RDB 两种数据的持久化保存方式,保证了 Redis 重启后数据不丢失
  4. Redis 的所有操作都是原子性的,还支持对几个操作合并后的原子性操作,支持事务

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

应用场景


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

把 key 设计为 表名:主键名:主键值:字段名
eg.
set user:id:1:email 156577812@qq.com


(2) 存储对象

string 类型支持任何格式的字符串,应用最多的就是存储 json 或其他对象格式化的字符串。(这种场景下推荐使用 hash 数据类型)
set user:id:1 [{“id”:1,”name”:”zj”,”email”:”156577812@qq.com“},{“id”:1,”name”:”zj”,”email”:”156577812@qq.com“}]


(3) 生成自增 id

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