Redis

目录

一、Redis常用的5种数据类型

字符串String操作命令

哈希Hash操作命令

列表list操作命令

集合set操作命令

有序集合sorted set 操作命令

通用命令

二、使用

导入maven坐标

配置文件

配置类

 三、Spring Cache

常用注解

 如何使用缓存技术

使用redis缓存技术

配置application.yml


一、Redis常用的5种数据类型

1、字符串

2、哈希,适合存储对象

3、list列表

        按照插入顺序排序,可以有重复元素

4、集合set无需集合,没有重复元素

5、有序集合,没有重复元素

        每个元素具有分值,但依然会被覆盖

字符串String操作命令

set key value 设置指定的key值

get key 获取指定key的值

setex key seconds value 设置过期时间

setnx key value 只有在key不存在时设置key的值

哈希Hash操作命令

HSET key field value 

HGET key field 

HDEL key field

HKEYS key 

HVALS key

HGETALL key

列表list操作命令

LPUSH  key value 将一个或多个值插入到列表头部

LRANGE key start stop start-stop的元素

RPOP key 获取并移除最后一个元素

LINE key 长度

BRPOP key timeout 移除并获取最后一个元素 ,设置时间,没有元素会阻塞,知道超时或者发现元素

集合set操作命令

SADD key member 向集合添加一个或多个成员

SMEMBERS key 返回集合中的所有成员

SCARD key 获取集合的成员数

SINTER key  返回交集

SUNION key 并集

SDIFF key 返回差集

SREM key member 移除一个或多成员 

有序集合sorted set 操作命令

ZADD key score member 添加,带分数,从小到大排名

ZRANGE key start stop [withscores] 展示

ZINCRBY key increment member 增加分数值

ZREM key member 移除

通用命令

KETS pattern  查找所有符合pattern的模式

EXISTS key  检查给定key是否存在

TYPE key 返回给定key所存储的类型

TTL key 返回剩余时间

DEL key 删除

二、使用

导入maven坐标
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
配置文件
data:
    redis:
      host: 
      port: 6379
#      一共默认有16个库
      database: 0
      password: 
  cache:
    redis:
#      设置缓存数据的过期时间,以秒为单位
      time-to-live: 1800000
配置类

主要解决序列化问题 (spring容器中已经有RedisTemplate)

@Configuration
public class RedisConfig extends CachingConfigurerSupport {

    @Bean
    public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory){
        RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
        //默认的Key序列化器为:JdkSerializationRedisSerializer,解决乱码问题
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setConnectionFactory(connectionFactory);
        return redisTemplate;
    }
}

 三、Spring Cache

基于注解的缓存功能,底层可以切换不同的cache。

CacheManager是Spring 提供的各种缓存技术抽象接口

常用注解

@EnableCaching 开启缓存注解功能

@Cacheable 如果有数据,直接返回;没有数据,执行方法并将返回值放入缓存中

@CachePut 将方法的返回值放入缓存中

@CacheEvict 将一条或多条数据从缓存中删除

 如何使用缓存技术

导入相关的依赖包,例如redis,在启动类上使用开启注解。

使用redis缓存技术

若有条件处理,以返回值为条件,使用unless

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
配置application.yml
cache:
    redis:
#      设置缓存数据的过期时间,以秒为单位,不设置,默认永久
      time-to-live: 1800000

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值