微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 [email protected]
2 ai [email protected]

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

set user:id:1:email [email protected];
set user:id:2:email [email protected];

String数据类型的应用场景

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

数据类型

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

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

应用场景

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐