Idea使用Spring Data Redis 快速操作Redis数据库

Idea使用Spring Data Redis 快速操作Redis数据库

前言

本篇文章属于快速入门使用java语言操作redis数据库,能够基本的对redis数据库进行操作,当然具体的指令还需去专门的学习,本篇文章也适合对redis有一定基础的,不然有些代码可能会看不懂,最后,创作不易,请各位一键三连(点赞,关注加收藏),让我有动力发布更多的作品,此外,希望这篇文章对各位读者有所帮助!!

一、导入Spring Data Redis的maven坐标

在项目文件的pom.xml导入Spring Data Redis坐标

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

二、配置Redis数据源

在项目里的application.yml文件里配制Redis数据源

spring:
  redis:
    host: localhost
    port: 6379
    password: 123456
    database: 0

注意!!!!

  1. 这个地方配置的属性值应该根据自己的需求所定

  2. 在属性与属性值之间有空格!!

依次讲解各个属性的含义

host: localhost //我们要连接redis的ip地址
port: 6379	//端口号
password: 123456 //redis密码
database: 0	//数据库

以上的四个属性,前两个比较好理解重点讲解下下面两个

1.password

​ 有些小伙伴有些疑问,什么密码,我下载redis的时候没配置密码啊?首先,redis和mysql一样,都有密码,区别是mysql需要配置用户名加密码,而redis只需要配置密码;其次,redis配置密码是在配置文件里面配置的。不记得密码的,文章补充中有解答

2.database

​ 其实在我们下载数据库的时候,redis帮我们弄了16个数据库,名称分别从DB0到DB15,我们要使用哪个数据库,直接输入数字就行,比如database: 0表示我用的是DB0数据库,注意,每个数据库中的数据都是独立的。

3.补充 redis密码的设置

在这里插入图片描述

在这里插入图片描述

三、编写配置类,创建RedisTemplate对象

创建RedisTemplate对象

@Configuration//配置类说明
public class RedisConfiguration {
    @Bean //为redisConnectionFactory自动注入 RedisConnectionFactory:redis工厂
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
        RedisTemplate redisTemplate = new RedisTemplate();//创建RedisTemplate对象
        redisTemplate.setConnectionFactory(redisConnectionFactory);//设置redis的连接工厂对象
        redisTemplate.setKeySerializer(new StringRedisSerializer());//设置redis key的序列化器
        return redisTemplate;
    }
}

为什么要进行key序列化器?

原因:Java中对通过RedisTemplate对象操作Redis,会自动对输入进行序列化,很有可能出现乱码,这里是将key的类型要求序列化为String

四、通过RedisTemplate对象操作Redis

在你需要操作redis的地方操作以下步骤。

//1.注入RedisTemplate对象
@Autowired
private RedisTemplate redisTemplate;
@Test
public void testRedisTemplate(){
    //2. 创建可以操作redis的对象
    ValueOperations valueOperations = redisTemplate.opsForValue();//创建可以操作redis中 String 类型的对象
    HashOperations hashOperations = redisTemplate.opsForHash();//创建可以操作redis中 哈希 类型的对象
    ListOperations listOperations = redisTemplate.opsForList();//创建可以操作redis中 List 类型的对象
    SetOperations setOperations = redisTemplate.opsForSet();//创建可以操作redis中 集合 类型的对象
    ZSetOperations zSetOperations = redisTemplate.opsForZSet();//创建可以操作redis中 有序集合 类型的对象
    //3.执行你需要的操作

注意:Spring Data Redis 中操作redis的命令有些不一样,本次只讲部分常用命令

String类型

//redis命令  -> Spring Data Redis命令
setex -> valueOperations.set(key,value,timeout,unit)//timeout:时间;unit,单位(通过TimeUnit类来选择时间单位)
setnx -> setIfAbsent(key,value) //value:java代码中的value是Object类型的,可以自动将输入序列化为redis中的五种类型。

哈希类型

//redis命令   ->  Spring Data Redis命令
hset   -> hashOperations.put(key,hashKey,value)
hget  ->  hashOperations.get(key,hashKey)
hdel  ->  hashOperations.delete(key,hashKey)
hkeys ->  hashOperations.keys(key)
hvals ->  hashOperations.values(key)

列表类型

//redis命令   ->  Spring Data Redis命令
lpush  ->  listOperations.leftPushAll(key,value1,value2...)//一次插入多个
		   listOperations.leftPush(key,value)//一次插入一个
lrange ->  listOperations.range(key,start,end)
rpop   ->  listOperations.rightPop(key)
llen   ->  listOperations.size(key)

集合类型

//redis命令   ->  Spring Data Redis命令
sadd     ->  setOperations.add(key,value1,value2...)
smembers ->  setOperations.members(key)
scard    ->  setOperations.size(key)
sinter   ->  setOperations.intersect(key,otherkey)
sunion   ->  setOperations.union(key,otherkey)
srem     ->  setOperations.remove(key,values)

有序集合类型

//redis命令   ->  Spring Data Redis命令
zadd     ->  zSetOperations.add(key,value,score)
zrange   ->  zSetOperations.range(key,start,end)
zincrby  ->  zSetOperations.incrementScore(key,value,dalta)
zrem     ->  zSetOperations.remove(key,values)

通用命令

//redis命令   ->  Spring Data Redis命令
keys     ->  redisTemplate.keys(pattern)
exists   ->  redisTemplate.hasKey(key)
type     ->  redisTemplate.type(key)
del      ->  redisTemplate.remove(key)
ys     ->  redisTemplate.keys(pattern)
exists   ->  redisTemplate.hasKey(key)
type     ->  redisTemplate.type(key)
del      ->  redisTemplate.remove(key)
  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值