Redis 10大数据类型
这里说的数据类型是value的数据类型,key的类型都是字符串。
Redis key
Redis key是String类型,也是二进制安全的,我们可以使用任何二进制序列作为键,从像“foo”这样的字符串到 JPEG 文件的内容。
关于Redis的key有以下规则和建议:
- 太长的key不是个好的选择,不仅因为消耗内存,而且在数据中查找key也需要进行多次复杂的key比较。
- 太短的键值通常也不是好的选择,如果你要用”u:1000:pwd”来代替”user:1000:password”,这本身没有什么问题,但后者更易阅读,并且由此增加的空间消耗相对于key object和value object本身来说很小。当然,没人阻止您一定要用更短的键值节省一丁点儿空间。
- 最好是坚持一种命名模式。例如:”object-type?field”就是个不错的注意,像这样:“user:1000:password”。对多单词的字段名中可以加上一个点,就像这:“comment?reply.to”样:
- 允许的最大key的大小为 512 MB
数据类型概览

String
介绍
string是redis最基本的类型,一个key对应一个value。
string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。
常用指令
基础指令

批量设置

计数器(字符串内容为整数时可以用)

过期

不存在插入

应用场景
缓存对象
使用 String 来缓存对象有两种方式:
直接缓存整个对象的 JSON,命令例子: SET user:1 '{"name":"haoer", "age":12}'。
采用将 key 进行分离为 user:ID:属性,采用 MSET 存储,用 MGET 获取各属性值,命令例子: MSET user:1:name haoer user:1:age 12 user:2:name zhangsan user:2:age 20。
常规计数
因为 Redis 处理命令是单线程,所以执行命令的过程是原子的。因此 String 数据类型适合计数场景,比如计算访问次数、点赞、转发、库存数量等等
分布式锁
共享session
