1、Redis的安装
Redis是一个基于内存的key-value结构数据库
有以下优点:
- 基于内存存储,读写速度快性能高
- 适合存储热点数据
- 广泛使用
1.1、访问官网
官网:https://redis.io
中文网:https://www.redis.net.cn/
1.2、Redis下载与安装
Windows版下载地址:https://github.com/redis/redis/releases
Linux版下载地址:https://download.redis.io/releases/
2、Redis的使用
下载好后是如图的文件结构:
2.1、启动Redis
打开后直接输入命令:
redis-server.exe redis.windows.conf
就可以启动Redis了:
2.2、Redis常用数据类型
Redis是一个基于内存的key-value结构数据库。key是字符串类型,value是数据类型有5种常用的数据类型:字符串string、哈希hash、列表list、集合list、有序集合sorted set/zset。
数据类型的特点:
1、字符串(string):就是普通的字符串。
2、哈希(hash):也称为散列,类似Java中的HashMap。
3、列表(list):按着插入的顺序排序,可以有重复元素,类似于Java中的LinkedList。
4、集合(set):无序集合,不存在重复元素,类似于Java中的HashSet。
5、有序集合(zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素。
2.3、Redis常用命令
2.3.1、string字符串操作命令
2.3.2、hash哈希操作命令
2.3.3、list列表操作命令
Tips:L开头就是从左边开始如从左边插入到列表头部 R就是从右边开始如移除d并且返回d
lrange *** 0 -1 //返回该列表中的所有的值
2.3.4、set集合操作命令
2.3.5、zset有序集合操作命令
2.3.6、通用命令
2.4、为Redis配置密码
找到redis.windows.conf文件打开,直接搜索关键字"pass"
将“# requirepass foobared”改为“requirepass 1234” 此时密码就是1234(自行设置)
2.4.1、使用密码后的cmd操作
2.5、Redis客户端图形界面使用
下载Another Redis Desktop Manager
cmd启动Redis后就可以使用该软件使用Redis,并完成如下配置:
没有设置密码就不用写
3、在Java中操作Redis
3.1、Redis的Java客户端
3.2、在Java中使用SpringDataRedis
1、引入SpringDataRedis的maven坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2、配置Redis的数据源,这里使用application.yml
spring:
data:
redis:
host: localhost
port: 6379
password: 1234
database: 10
注意:Redis自己有16个数据库:DB0-DB15 默认是使用DB0
3、编写配置类,创建RedisTemplate对象
package cn.music.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@Configuration
@Slf4j
public class RedisConfig {
@Bean
public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
log.info("开始创建redis模板类");
RedisTemplate redisTemplate=new RedisTemplate<>();
//设置Key的序列化器,默认为JdkSerializationRedisSerializer
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(redisConnectionFactory);
return redisTemplate;
}
}
4、可以通过依赖注入RedisTemplate对象来操作Redis。
3.3、以Java编码方式使用Redis
首先现在注入RedisTemplate对象redisTemplate:
//获取RedisConfig中配置的RedisTemplate类
@Autowired
private RedisTemplate redisTemplate;
3.3.1、操作string字符串
3.3.2、操作hash哈希类型
3.3.3、操作list列表类型
3.3.4、操作set集合类型
3.3.5、操作zset有序集合类型
3.3.6、操作通用命令
总结
欢迎指正