Redis的数据类型

Redis的特点

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

通常我们都把数据存到关系型数据库中,但为了提升应用的性能,我们应该把访问频率高且不会经常变动的数据缓存到内存中。Redis 没有像 MySQL 这类关系型数据库那样强大的查询功能,需要考虑如何把关系型数据库中的数据,合理的对应到缓存的 key-value 数据结构中。

设计 Redis Key

一般我们采用的是分段设计法。

使用冒号把 key 中要表达的多种含义分开表示,步骤如下:

  1. 把表名转化为 key 前缀
  2. 主键名(或其他常用于搜索的字段)
  3. 主键值
  4. 要存储的字段。

如用户表user:

id name email
1 zj 156577812@qq.com
2 ai 156577813@qq.com

这个简单的表可能经常会有这个的需求:根据用户 id 查询用户邮箱地址,可以选择把邮箱地址这个数据存到 redis 中

set user:id:1:email 156577812@qq.com;
set user:id:2:email 156577812@qq.com;

String数据类型的应用场景

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

数据类型

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

Key Value
'name' 'redis'
'type' 'string

应用场景

 

上一篇:Qt FFmpeg视频播放器开发(八):播放器UI改造、高仿QQ影音


下一篇:SQLServer游标(Cursor)简单例子