Redis 是一个开源的内存数据库,支持多种数据结构,常用于缓存、会话管理、实时分析等场景。Redis 提供了五种基本的数据类型:字符串、 列表、 集合、 散列/哈希、 有序集合。这篇博客,我们来详细介绍这五种数据类型,并且如何使用它们。
目录
一、字符串
Redis 中最简单和最常用的数据类型。可以存储任何类型的数据,例如字符串、整数、浮点数等。
1.1 设置值和获取值
格式:
- 设置值: set key value
- 获取值: get key
1.2 判断key是否存在
格式: exists key
1.3 追加字符串和获取字符串的长度
- key存在,直接在后面追加字符串,如果key不存在,相当于set命令,格式: append key value
- 获取字符串的长度,格式: strlen key
1.4 对value进行自增1和自减1操作
- 对value进行自增1操作(数值类型),格式: incr key
- 对value进行自减1操作(数值类型),格式: decr key
1.5 设置加减的步长
- 设置加的步长,格式: incrby key num
- 设置减的步长,格式: decrby key num
1.6 获取字符串某一段的内容/修改字符串某一段的内容
- 获取字符串某一段的内容:getrange key start end ,start和end是起始位置和结束位置,从0开始。
- 从指定位置开始替换字符串的值,格式: setrange key offset value,offset是起始位置计算的偏移量,value是要修改的值。
1.7 设置过期时间,查看剩余时间
- 设置过期时间,格式: setex key seconds value ,以秒为单位
- 查看剩余时间,格式: ttl key
1.8 同时设置或者获取多个值
- 同时设置多个值,格式: mset key1 value1 key2 value2 ...
- 同时获取多个值,格式:mget key1 key2...
1.9 先获取值,在设置值
先获取值,在设置值,格式: getset key value
1.10 总结
String类似的使用场景:value除了是字符串也可以是数字!
- 计数器
- 统计多单位的数量
- 对象缓存存储
二、列表
它本质上是有序的字符串列表,类似于链表。可以在列表的两端进行推入和弹出操作。在Redis中,我们可以用list完成栈、队列、阻塞队列 ,所有的list命令都是用l开头的。
2.1 从列表list的左边/右边插入值
- 从list的左边插入值,格式: lpush key value
- 从list的右边插入值,格式: rpush key value
2.2 获取指定范围的值
lrange获取指定范围的值,格式: lrange key start stop