Redis五种类型的存取方式

本文介绍了如何在Redis中使用RedisTemplate进行String、List、Set、Zset和Hash等数据类型的操作,包括set、get、leftPush、rightPush、range、add、members、delete等方法的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.String类型的存取:

redisTemplate.opsForValue().set(键, 值)
redisTemplate.opsForValue().get(键)

2.List列表类型
redisTemplate.opsForList().leftPush()
redisTemplate.opsForList().rightPush()
redisTemplate.opsForList().range()


3.Set无序不可重复
redisTemplate.opsForSet().add()
redisTemplate.opsForSet().members()

4.Zset数据类型
redisTemplate.opsForZSet().add()
redisTemplate.opsForZSet().range()
redisTemplate.delete()


5.Hash数据类型
redisTemplate.opsForHash.put("hash", "hash2", JSON.toJSONString(list)
)

redisTemplate.opsForHash.get("hash", "hash2")
(String)o1 = (String)o
List<Order> orders= JSON.parseArray(o1, Order.class);
redisTemplate.delete("hash")

### Redis 五种数据类型介绍 Redis 是一种高性能的键值对储系统,支持五种主要的数据类型:字符串(String)、散列表(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。以下是每种数据类型的详细说明: #### 1. 字符串类型(String) 字符串是 Redis 最基本的数据类型。一个键对应一个值,值可以是字符串、整数或浮点数[^2]。字符串类型Redis 中是二进制安全的,这意味着它可以储任何格式的数据,例如 JPEG 图像或序列化的对象[^3]。字符串类型的值最大可以达到 512MB[^2]。常见的操作包括 `SET`、`GET` 和 `INCR` 等命令。例如,`INCR` 命令可以用于递增计数器,适用于统计网站访问量等场景[^3]。 ```python # 示例代码:使用 Python 操作 Redis 的字符串类型 import redis r = redis.Redis(host='localhost', port=6379, db=0) r.set('key', 'value') # 设置字符串值 print(r.get('key')) # 获取字符串值 ``` #### 2. 散列表类型Hash) 散列表是一种键值对的映射表,适合储对象。每个哈希表键可以包含多个字段-值对[^4]。相比将整个对象序列化后储为字符串类型,散列表占用更少的内空间,并且方便存取整个对象[^4]。常用的命令包括 `HSET`、`HGET` 和 `HGETALL` 等。 ```python # 示例代码:使用 Python 操作 Redis 的散列表类型 r.hset('user:1000', mapping={'name': 'Alice', 'age': 25}) print(r.hgetall('user:1000')) ``` #### 3. 列表类型(List) 列表类型是一个按插入顺序排列的字符串列表。可以通过索引来获取元素,也可以从两端插入或删除元素[^1]。列表类型适合实现消息队列等功能。常用的命令包括 `LPUSH`、`RPUSH` 和 `LPOP` 等。 ```python # 示例代码:使用 Python 操作 Redis 的列表类型 r.lpush('queue', 'task1') r.lpush('queue', 'task2') print(r.lrange('queue', 0, -1)) ``` #### 4. 集合类型(Set) 集合类型是一个无序的字符串集合,且集合中的元素唯一[^1]。集合支持交集、并集和差集等操作,适用于需要去重的场景。常用的命令包括 `SADD`、`SMEMBERS` 和 `SINTER` 等。 ```python # 示例代码:使用 Python 操作 Redis 的集合类型 r.sadd('set1', 'item1', 'item2', 'item3') r.sadd('set2', 'item2', 'item3', 'item4') print(r.sinter('set1', 'set2')) # 交集操作 ``` #### 5. 有序集合类型(Sorted Set) 有序集合类似于集合,但它为每个成员关联了一个分数(score),成员按照分数排序[^1]。有序集合支持范围查询等操作,适用于排行榜等场景。常用的命令包括 `ZADD`、`ZRANGE` 和 `ZREM` 等。 ```python # 示例代码:使用 Python 操作 Redis 的有序集合类型 r.zadd('leaderboard', {'user1': 100, 'user2': 200, 'user3': 150}) print(r.zrange('leaderboard', 0, -1, withscores=True)) ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值