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,超时时间,超时单位);