一:Redis介绍
redis是一个key-value等多种数据结构的存储系统,数据都是缓存在内存中。value里面可包含很多类型,像String,list,set,hash等类型,一个value可以存储1GB的数据,该数据库使用ANSI C语言编写,相较于其他缓存来说,存储方面有优势,测试速度快,性能上也有优势.
redis的中文官网:http://www.redis.net.cn/
Redis缓存过程:
客户端-->发送请求-->tomcat容器-->请求服务器-->mysql
Redis缓存:连接服务容器和数据库
解决2个问题:1.访问次数过多 2.高并发(处理结果集合的量 是平常查询的10倍 处理过程慢)
一个一个的进 队列
缓存:业务数据?基础数据? 看访问次数的频繁
那些属于基础数据:用户信息(用户在系统里面的所有行为) 地址信息 权限信息
如果要做更新操作 就先把缓存里面的数据先干掉 ,重新查询数据库的时候在缓存一次 ,做缓存的目的是避免脏读.
二:在Linux上安装redis(我的是windows系统,所以用虚拟机加winscp加xshell操作)
1 安装和启动redis服务
1 在Linux中创建目录:/myredis/redis,并将压缩包复制到该目录(winscp)
2 解压压缩文件,并执行make对解压后的文件进行编译
cd /myredis/redis
#解压文件
tar -zxvf redis-5.0.0.tar.gz
#进入解压后的文件夹
cd redis-5.0.0
#编译
make
3 安装gcc依赖(必须的依赖)
yum install gcc
4 再次编译安装
make MALLOC=libc
5 启动Redis(要在网络上启动服务)
#进入src文件夹
cd /redis-5.0.0/src
#启动服务
./redis-server
2 后台进程方式启动Redis
1 修改redis.conf文件
#进入redis-5.0.0的src文件夹
cd /redis-5.0.0
2 打开redis.conf文件
vim redis.conf
3 修改信息
daemoize no改为daemoize yes,
注释掉 bind 127.0.0.1
protected mode yes 修改为 protected mode no
保存并退出。
停止防火墙:
systemctl stop firewalld.service (一定要把防火墙关了)
4 指定redis.conf文件启动
cd /redis-5.0.0/src
./redis-server /myredis/redis/redis-5.0.0/redis.conf(启动方式必须加载配置文件)
3 启动Redis客户端
1.进入Redis-5.0.0/src目录,启动Redis客户端
./redis-cli
2.使用ping命令开执行是否成功
127.0.0.1:6379> ping
4 关闭Redis
1 查看redis进程
ps -aux | grep redis
2 杀死进程
kill -9 1693
三、redis的应用场景有哪些
1、会话缓存(最常用)
2、消息队列,比如支付
3、活动排行榜或计数
4、发布、订阅消息(消息通知)
5、商品列表、评论列表等
四:redis服务相关的命令
select index #选择数据库(数据库编号0-15)
quit #退出连接
info #获得服务的信息与统计
monitor #实时监控
config get #获得服务配置
flushdb #删除当前选择的数据库中的key
flushall #删除所有数据库中的key
命令一般选择方便储存也方便解析的.
五:使用jedis测试是否连接成功
/**
* 操作字符串数据
*/
@Test
public void redisString() {
//host:连接地址,port:端口号
Jedis jedis = new Jedis("192.168.163.150", 6379);
//查看是否连接:如果输出为pong,则证明连接成功
System.out.println(jedis.ping());
//1、赋值:键值对形式
jedis.set("admin", "123456");
//2、设置多个键值对
jedis.mset("a", "apple", "b", "banana", "c", "cherry");
//3、取值
System.out.println(jedis.get("admin"));
//4、删除
jedis.del("admin");
}
1.下载jedis的包,引入依赖(防火墙一定要关掉)
2.jedis连接ip地址和端口(6379)
3.保存到xshell是根据json格式来的,所以要导入json的包
4.写入是objectMapper 然后调用写入(WriteValueAsString)的方法写入缓存中
5.从缓存中取出来是objectMapper 调用read的方法 用jedis可以set get数据(根据缓存的键名取) 然后objectMapper 写入 取出数据.
关于redis我的不是很完整,刚刚看到一个redis的博客,觉得还阔以,嘻嘻,在这里放个网址,你们可以看看哦,https://blog.csdn.net/middleware2018/article/details/80355418