极简Redis速成学习

redis是什么?

是一种以键值对形式存储的数据库,特点是基于内存存储,读写快,性能高,常用于缓存、消息队列等应用情境

redis的五种数据类型是什么?

分别是String、Hash、List、Set和Zset(操作命令很多这里只写部分关键的,其他查一查即可)

①String类型

redis中最基本的数据结构,key是String类型,value可以存储字符串、整型或浮点数

XML 复制代码
SET <KEY> <VALUE>    //写入
GET <KEY>    //读取
②Hash类型

在value部分提供了一个field作为value的键,因此一个Hash可以存储多个字段和对应的值,适合用来存储对象

XML 复制代码
HSET <KEY> <FIELD> <VALUE>    //写入
HGET <KEY> <FIELD>        //读取
③List类型

有序可重复,相当于LinkedList,可以从列表的两端进行插入或删除

XML 复制代码
LPUSH <KEY> <ELEMENT>    //从列表左边插入
LPOP <KEY>        //移除左侧第一个元素
右侧同理,用RPUSH和RPOP
④Set类型

无序不重复

XML 复制代码
SADD <KEY> <MEMBER>...     //添加一个或多个
SREM <KEY> <MEMBER>...     //删除一个或多个
SCARD <KEY>      //返回元素个数
⑤Zset类型

有序集合,每个元素都带有一个score属性,用score来排序

XML 复制代码
ZADD <KEY> <SCORE> <MEMBER>...     //添加一个或多个
ZREM <KEY> <MEMBER>...     //删除一个或多个
ZSCORE <KEY> <MEMBER>      //获取指定元素的score值

在Java中怎么使用redis?

我们会用RedisTemplate

使用方法:

①导入依赖

XML 复制代码
<!--Redis-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--连接池依赖-->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

②在application.yml中配置redis

XML 复制代码
spring:
   redis:
      host:127.0.0.1  # Redis服务器地址
      port:6379   # Redis服务器连接端口
      password:    # Redis服务器连接密码(默认为空)
      lettuce:
        pool:
          max-active:8  #最大连接
          max-idle:8  #最大空闲连接
          min-idle:0   #最小空闲连接
          max-wait:100  #连接等待时间

③在你要的文件中注入RedisTemplate

java 复制代码
@Autowired
private RedisTemplate redisTemplate

④代码实例

java 复制代码
redisTemplate.opsForValue.set(key,value);   //存
String id = redisTemplate.opsForValue.get(key);   //取

可以在存数据的时候设置超时时间,避免因为只存出现内存不足的情况(如果不引入超时删除,就会出现redis只存不删的情况,时间长了内存会爆)

java 复制代码
redisTemplate.opsForValue.set(key,value,超时时间,超时单位);   //存

可以给已有的键值对设置过期时间

java 复制代码
redisTemplate.expire(key,超时时间,超时单位);   
相关推荐
Pocker_Spades_A8 分钟前
金仓多模数据库平替MongoDB的电子证照国产化实践——从2TB数据迁移到1600+并发支撑
数据库·1024程序员节
彭刷子9 分钟前
《商户查询缓存案例》使用案例学习Redis的缓存使用;缓存击穿、穿透、雪崩的原理的解决方式
redis·1024程序员节
用户62799471826216 分钟前
南大通用GBase 8c MySQL迁移场景下的时区设置陷阱与解决方案
数据库
py有趣27 分钟前
LeetCode学习之0矩阵
学习·leetcode·矩阵
在等晚安么32 分钟前
记录自己写项目的第三天,springbot+redis+rabbitma高并发项目
java·spring boot·redis·1024程序员节
暖阳之下1 小时前
学习周报十九
学习·多模态·1024程序员节
小年糕是糕手1 小时前
【数据结构】队列“0”基础知识讲解 + 实战演练
c语言·开发语言·数据结构·c++·学习·算法
报错小能手1 小时前
项目——基于C/S架构的预约系统平台(2)
linux·c语言·笔记·学习·架构
Brookty2 小时前
【算法】前缀和(二)使用
java·学习·算法·前缀和·动态规划·1024程序员节
野犬寒鸦2 小时前
从零起步学习MySQL || 第九章:从数据页的角度看B+树及MySQL中数据的底层存储原理(结合常见面试题深度解析)
java·服务器·数据库·后端·mysql·oracle·1024程序员节