Spring Boot整合Redis以及redisTemplate的常用命令

spring boot整合redis

首先使用idea快速搭建spring boot环境
点击右上角File -> New -> Module
在弹出的页面上操作
注:在选择快速搭建网址的时候如果可以连接到默认网址,则使用默认网址,如果无法连接则选择下面的custom,并写入 http://start.aliyun.com 就可以了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建后目录结构

在这里插入图片描述
SpringbootRedisApplication这个类是spring boot的启动类

application.properties是spring boot的配置文件

我们可以把properties类型改成yml或者yaml类型

在这里是将properties类型改成yml类型

在配置文件中写入redis配置,当然不写也没关系,spring boot自带默认配置和我们的在这里写入的配置是一样的,只是我们需要知道如果以后需要配置redis的其他属性也是在这里进行配置

spring:
  redis:
    host: 127.0.0.1
    port: 6379

idea自动创建的spring boot环境自动导入了spring boot的junit测试环境。所以可以直接在test包下进行测试。

idea搭建spring boot环境的时候,自动在test包下创建了一个测试类,这个类和spring boot启动类同属一个包结构下

注:如果自己创建测试类,尽量保证和spring boot启动类在一个包结构。
如果不在一个包结构则需要手动指定启动类的字节码文件如下:

@RunWith(SpringRunner.class)
//如果不在一个包下则需要手动指定启动类字节码文件,否则不需指定括号中的内容
@SpringBootTest(classes = SpringbootRedisApplication.class)
public class SpringbootRedisApplicationTests {

    @Test
    public void contextLoads() {

    }

}

为了省事我们直接在自动生成的test类中进行测试

spring boot下redis常用命令

spring boot对redis进行了封装变成了RedisTemplate,所以在使用的时候不像以前注入JedisPool了,而是变成了RedisTemplate。

redis常用的四大数据结构

数据类型说明
String字符串
List列表类型,可以从左或右往里设置值
Hash键值对类型
Set无序不可重集合类型,类似List,但是拥有交集、并集、差集运算

String类型

  1. 生成一个String类型的操作对象,这个对象拥有可以操作String类型的方法,操作时要指定被操作的key值
		ValueOperations valueOperations = redisTemplate.opsForValue();
  1. 生成一个String类型的操作对象,同时绑定一个key值。这个对象是专门操作指定key值的对象。
		BoundValueOperations boundValueOperations = redisTemplate.boundValueOps("key");
  1. 获取指定key的值
		redisTemplate.opsForValue().get(key);
  1. 向指定key值中的value拼接字符串,如果key不存在则创建这个key,并将value设置进去
		redisTemplate.opsForValue().append(key,value);
  1. 向指定key中设置value
		redisTemplate.opsForValue().set(key,value);
  1. 向指定key中设置value,并设置过期时间
		redisTemplate.opsForValue().size(key,value,TimeUnit);
  1. 返回指定key的字符串长度
		redisTemplate.opsForValue().size(key);

List类型

  1. 生成一个List类型的操作对象,这个对象拥有可以操作String类型的方法,操作时要指定被操作的key值
		ListOperations listOperations = redisTemplate.opsForList();
  1. 生成一个List类型的操作对象,同时绑定一个key值。这个对象是专门操作指定key值的对象。
		BoundListOperations boundListOperations = redisTemplate.boundListOps(key);
  1. 从左往指定key集合中设置value
		redisTemplate.opsForList().leftPush(key,value);
  1. 从右往指定key集合中设置value
		redisTemplate.opsForList().rightPush(key,value);
  1. 弹出指定key值集合左侧的一个元素
		redisTemplate.opsForList().leftPop(key);
  1. 弹出指定key值集合右侧的一个元素
		redisTemplate.opsForList().rightPop(key);
  1. 从左往指定key集合中设置多个value
		redisTemplate.opsForList().leftPushAll(keys,value1,value2···);
  1. 从右往指定key集合中设置多个value
		redisTemplate.opsForList().rightPushAll(keys,value1,value2···);
  1. 更新指定key值集合中指定下标的value
		redisTemplate.opsForList().set(key,index,value);
  1. 获取指定key值集合中指定下标的value
		redisTemplate.opsForList().index(key,index);
  1. 获取指定key值集合中从指定下标开始到指定下标结束的所有元素的集合,
		redisTemplate.opsForList().range(key,begin,end)
  1. 删除指定key集合中值等于value的元素(count=0, 删除所有值等于value的元素; count>0, 从头部开始删除第一个值等于value的元素; count<0, 从尾部开始删除第一个值等于value的元素)
		redisTemplate.opsForList().remove(key,count,value);
  1. 将List列表进行剪裁
		redisTemplate.opsForList().trim(key, start, end);

Hash类型

  1. 向指定key值Hash中设置一个键值对,键为hashKey,值为value
		redisTemplate.opsForHash().put(key,hashKey,value);
  1. 获取指定key值Hash中指定hashKey对应的值
		redisTemplate.opsForHash().get(key,hashKey);
  1. 获取指定key值hash所有键值对的hashKey集合
		redisTemplate.opsForHash().keys(key);
  1. 删除指定key值Hash中指定HashKey的键值对
		redisTemplate.opsForHash().delete(key,hashKey1,hashKey2···)
  1. 判断指定key值Hash中指定HashKey的键值对是否存在
		redisTemplate.opsForHash().hasKey(key,hashKey);
  1. 获取指定key值Hash中所有的键值对
		redisTemplate.opsForHash().entries(key);
  1. 获取指定key值Hash中所有的键值对中的所有值
		redisTemplate.opsForHash().values(key);
  1. 将map中的键值对放入指定key值Hash中
		redisTemplate.opsForHash().putAll(key,map);

Set类型

  1. 向指定key值的集合中放入value
		redisTemplate.opsForSet().add(key,value);
  1. 删除指定key值集合中的value
		redisTemplate.opsForSet().remove(key,value,value1···);
  1. 获取指定key值集合中的所有value
		redisTemplate.opsForSet().members(key);
  1. 获取指定key值集合的元素个数
		redisTemplate.opsForSet().size(key); 
  1. 获取指定key值集合的一个随机元素
		redisTemplate.opsForSet().randomMember(key);  
  1. 获取指定key值集合的count个随机元素
		redisTemplate.opsForSet().randomMembers(key,count);  
  1. 判断指定key值集合中指定元素是否存在
		 redisTemplate.opsForSet().isMember(key,value);  
  1. 弹出指定key集合中的栈顶元素
		redisTemplate.opsForSet().pop(key);
  1. 计算指定两个key值集合的差值
		redisTemplate.opsForSet().difference(key,otherKey);  
  1. 计算指定key值与集合的插值
		 redisTemplate.opsForSet().difference(key,list);  
  1. 计算指定key值集合和otherKey值集合的差集,并将求出的元素放入destKey键值集合中
	redisTemplate.opsForSet().differenceAndStore(key,otherKey,destKey);  
  1. 计算指定key值集合和指定集合的差集,并将求出的元素放入destKey键值集合中
	redisTemplate.opsForSet().differenceAndStore(key,list,destKey);  
  1. 计算指定key值集合和指定otherKey值集合的交集
	redisTemplate.opsForSet().intersect(key,otherKey);
  1. 计算指定key值集合和指定集合的交集
	redisTemplate.opsForSet().intersect(key,list);
  1. 计算指定key值集合和指定otherKey值集合的交集,并将结果存放在destKey值集合中
	redisTemplate.opsForSet().intersectAndStore(key,otherKey,destKey);
  1. 计算指定key值集合和指定集合的交集,并将结果存放在destKey值集合中
	redisTemplate.opsForSet().intersectAndStore(key,list,destKey);
  1. 计算指定key值集合和指定atherKey值集合的合集
	redisTemplate.opsForSet().union(key,atherKey);
  1. 计算指定key值集合和指定list集合的合集
	redisTemplate.opsForSet().union(key,list);
  1. 计算指定key值集合和指定otherKey值集合的合集,并将结果放入destKey值集合中
	redisTemplate.opsForSet().unionAndStore(key,otherKey,destKey);
  1. 计算指定key值集合和指定list集合的合集,并将结果放入destKey值集合中
	redisTemplate.opsForSet().unionAndStore(key,list,destKey);
  1. 计算指定key值集合和指定集合的差集,并将求出的元素放入destKey键值集合中
	redisTemplate.opsForSet().differenceAndStore(key,list,destKey);  
  1. 计算指定key值集合和指定集合的差集,并将求出的元素放入destKey键值集合中
	redisTemplate.opsForSet().differenceAndStore(key,list,destKey);  
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值