springboot整合redis及常用命令

本文介绍了如何在SpringBoot应用中集成Redis,包括添加依赖、配置连接,以及展示了Spring的RedisTemplate如何执行各种Redis命令,如设置/获取值、过期时间管理、发布/订阅、数据结构操作和事务处理。
摘要由CSDN通过智能技术生成

springboot整合redis及常用命令

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

application.propertiesapplication.yml中配置Redis连接信息:

spring.redis.host=127.0.0.1
spring.redis.port=6379

完成以上配置后,你可以使用Spring的RedisTemplateStringRedisTemplate来操作Redis。下面是一些常用的Redis命令及其在Spring Boot中的使用示例:

1. 设置键值对:
@Autowired
private RedisTemplate<String, String> redisTemplate;

public void set(String key, String value) {
    redisTemplate.opsForValue().set(key, value);
}
2. 获取键对应的值:
public String get(String key) {
    return redisTemplate.opsForValue().get(key);
}
3. 设置键的过期时间:
public void expire(String key, long timeout, TimeUnit unit) {
    redisTemplate.expire(key, timeout, unit);
}
4. 删除键:
public void delete(String key) {
    redisTemplate.delete(key);
}
5. 发布订阅消息:
@Autowired
private RedisTemplate<String, String> redisTemplate;

public void publish(String channel, String message) {
    redisTemplate.convertAndSend(channel, message);
}

更多操作

  1. 列表操作:

    • 在列表的左侧或右侧插入元素:redisTemplate.opsForList().leftPush(key, value)redisTemplate.opsForList().rightPush(key, value)
    • 获取列表指定范围的元素:redisTemplate.opsForList().range(key, start, end)
    • 弹出列表的左侧或右侧元素:redisTemplate.opsForList().leftPop(key)redisTemplate.opsForList().rightPop(key)
  2. 集合操作:

    • 添加元素到集合:redisTemplate.opsForSet().add(key, values)
    • 获取集合中的所有元素:redisTemplate.opsForSet().members(key)
    • 判断元素是否在集合中:redisTemplate.opsForSet().isMember(key, value)
  3. 哈希操作:

    • 设置哈希字段和值:redisTemplate.opsForHash().put(key, field, value)
    • 获取哈希字段对应的值:redisTemplate.opsForHash().get(key, field)
    • 获取哈希中所有字段和值的映射:redisTemplate.opsForHash().entries(key)
  4. 有序集合操作:

    • 添加元素到有序集合:redisTemplate.opsForZSet().add(key, value, score)
    • 获取有序集合中指定范围的元素:redisTemplate.opsForZSet().range(key, start, end)
    • 获取有序集合中指定分数范围的元素:redisTemplate.opsForZSet().rangeByScore(key, min, max)
  5. 事务操作:

    • 开启事务:redisTemplate.multi()
    • 提交事务:redisTemplate.exec()
    • 回滚事务:redisTemplate.discard()

示例代码:

// 设置列表元素
redisTemplate.opsForList().leftPush("mylist", "element1");
redisTemplate.opsForList().rightPush("mylist", "element2");

// 获取列表范围内的元素
List<String> elements = redisTemplate.opsForList().range("mylist", 0, -1);

// 添加元素到集合
redisTemplate.opsForSet().add("myset", "element1");
redisTemplate.opsForSet().add("myset", "element2");

// 获取集合中的所有元素
Set<String> members = redisTemplate.opsForSet().members("myset");

// 设置哈希字段和值
redisTemplate.opsForHash().put("myhash", "field1", "value1");
redisTemplate.opsForHash().put("myhash", "field2", "value2");

// 获取哈希字段对应的值
String value1 = (String) redisTemplate.opsForHash().get("myhash", "field1");

// 添加元素到有序集合
redisTemplate.opsForZSet().add("myzset", "element1", 1.0);
redisTemplate.opsForZSet().add("myzset", "element2", 2.0);

// 获取有序集合指定范围的元素
Set<String> range = redisTemplate.opsForZSet().range("myzset", 0, -1);

// 开启事务
redisTemplate.multi();
// 执行事务操作
redisTemplate.opsForValue().set("key1", "value1");
redisTemplate.opsForValue().set("key2", "value2");
// 提交事务
redisTemplate.exec();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值