reids基本操作

一、Redis 五种基本数据类型及使用场景

数据类型特点典型应用场景
String(字符串)最基本类型,可存储文本、数字或二进制数据缓存、计数器(如PV)、分布式锁
Hash(哈希)类似Map,存储字段-值对存储对象(如用户信息)、商品属性
List(列表)有序元素集合,支持双向操作消息队列、最新消息列表、历史记录
Set(集合)无序唯一元素集合标签系统、共同好友、抽奖去重
Sorted Set(有序集合)元素关联分数,按分数排序排行榜、延迟队列、优先级任务

二、Spring Boot 中 Redis 的增删改查操作

1:字符串

@Autowired
private StringRedisTemplate stringRedisTemplate;

// 增/改
stringRedisTemplate.opsForValue().set("key", "value");      // SET key value
stringRedisTemplate.opsForValue().set("counter", "0");     // 初始化计数器

// 查
String value = stringRedisTemplate.opsForValue().get("key"); // GET key
Long count = stringRedisTemplate.opsForValue().increment("counter"); // INCR counter

// 删
stringRedisTemplate.delete("key");                          // DEL key

2:hash

// 增/改
stringRedisTemplate.opsForHash().put("user:1", "name", "Alice");   // HSET user:1 name Alice
stringRedisTemplate.opsForHash().put("user:1", "age", "25");       // HSET user:1 age 25

// 查
String name = (String) stringRedisTemplate.opsForHash().get("user:1", "name"); // HGET user:1 name
Map<Object, Object> user = stringRedisTemplate.opsForHash().entries("user:1"); // HGETALL user:1

// 删
stringRedisTemplate.opsForHash().delete("user:1", "age");          // HDEL user:1 age
stringRedisTemplate.delete("user:1");                              // DEL user:1

3:list

// 增(左推入)
stringRedisTemplate.opsForList().leftPush("tasks", "task1");       // LPUSH tasks task1

// 查(获取范围)
List<String> tasks = stringRedisTemplate.opsForList().range("tasks", 0, -1); // LRANGE tasks 0 -1

// 删(右弹出)
String task = stringRedisTemplate.opsForList().rightPop("tasks");  // RPOP tasks

4:set

// 增
stringRedisTemplate.opsForSet().add("tags", "java", "redis");      // SADD tags java redis

// 查(判断存在)
boolean exists = stringRedisTemplate.opsForSet().isMember("tags", "java"); // SISMEMBER tags java

// 删
stringRedisTemplate.opsForSet().remove("tags", "redis");           // SREM tags redis

5:sorted set

// 增(带分数)
stringRedisTemplate.opsForZSet().add("leaderboard", "PlayerA", 100); // ZADD leaderboard 100 PlayerA

// 查(按分数倒序取前三)
Set<String> top3 = stringRedisTemplate.opsForZSet().reverseRange("leaderboard", 0, 2); // ZREVRANGE leaderboard 0 2

// 删
stringRedisTemplate.opsForZSet().remove("leaderboard", "PlayerA");    // ZREM leaderboard PlayerA
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值