一、Redis简介
Redis是什么
Redis是一个基于内存的key-value结构数据库。
- 基于内存存储,读写性能高
- 适合存储热点数据(热点商品、资讯、新闻》
- 企业应用广泛
Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)。它存储的value:类型比较丰富,也被称为结构化的NoSql数据库。
NoSq(Not Only SQL),不仅仅是SQL,泛指非关系型数据库。NoSql数据库并不是要取代关系型数据库,而是关系型数据库的补充。
Redis应用场景
- 缓存
- 任务队列
- 消息队列
- 分布式锁
二、Redis入门
Redis下载与安装
教程:超详细Redis下载安装图文教程(Win和Linux版)-CSDN博客
linux安装步骤
进行编译时报错解决教程:redis 编译报致命错误:jemalloc/jemalloc.h:没有那个文件或目录_jemalloc.h 没有那个文件或目录-CSDN博客
windows安装步骤
Redis服务启动与停止
使用客户端连接:redis-cli
修改配置
后台启动redis服务
no -> yes
在命令模式中输入n查找下一项,N找上一项
修改后保存退出重启服务:src/redis-server ./redis.conf
关闭后台redis服务
查找后台服务redis命令:ps -ef | grep redis
杀死进程
设置登录密码
配置文件修改密码并保存
先登录再认证
直接登录认证
设置远程连接
找到bind并注释
修改后重启服务(先停止再启动)
关闭防火墙(已关闭可跳过)
使用Windows PowerShell远程连接
:.\redis-cli.exe -h 192.168.6.100 -p 6379 -a 123456
三、Redis数据类型
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:
字符串 string
哈希 hash
列表 list
集合 set
有序集合 sorted set
四、Redis常用命令
字符串string
哈希 hash
列表 list
集合 set
有序集合 sorted set
通用命令
五、Java操作Redis
Jedis
Redis的Java客户端很多,官方推荐的有三种:
●Jedis
●Lettuce
●Redisson
Spring对Redis客户端进行了整合,提供了Spring Data Redis,在Spring Boot.项目中还提供了对应的Starter,即 spring-boot-starter-data-redis
Jedis的maven坐标
<dependency><groupld>redis.clients</groupld><artifactld>jedis</artifactld><version>2.8.0</version>
</dependency>
使用Jedis操作Redis的步骤
1、获取连接
2、执行操作
3、关闭连接
Jedis测试代码
@Test
public void testRedis(){//1 获取连接Jedis jedis = new Jedis("localhost",6379);//2 执行具体的操作jedis.set("username","xiaoming");String value jedis.get("username");System.out.println(value);//jedis.del("username");jedis.hset("myhash","addr","bj");String hValue jedis.hget("myhash","addr");System.out.println(hValue);Set<string>keys = jedis.keys("*")for (String key : keys){System.out.println(key);}//3关闭连接jedis.close();
}
Spring Data Redis
在Spring Boot项目中,可以使用Spring Data Redis来简化Redis操作
Spring Data Redis的maven坐标
<dependency><groupld>org.springframework.boot</groupld><artifactld>spring-boot-starter-data-redis</artifactld>
</dependency>
Redis相关配置
redis:host: localhost #ipp0rt: 6379 #端口#password: 123456 database: 0 #数据库,redis默认有16个,可通过select [0~15]选择要用的数据库jedis:#Redis连接池配置pool:max-active: 8 #最大连接数max-wait: 1ms #连接池最大阻塞等待时间max-idle: 4 #连接池中的最大空闲连接min-idle: 0 #连接池中的最小空闲连接
相应教程文档
9--苍穹外卖-SpringBoot项目中Redis的介绍及其使用实例 详解-CSDN博客