redis
文章平均质量分 88
.
..Serendipity
唯一不变的是变化本身
展开
-
Redis的持久化机制
1. RDBRDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故障重启后,从磁盘读取快照文件,恢复数据。快照文件称为RDB文件,默认是保存在当前运行目录。Redis其实默认是会持久化的,即在你主动关闭Redis服务的时候,Redis会将数据保存为.rdb文件,但是如果Redis不是正常关机而是突然宕机,那么就不会触发RDB那么如何手动来执行RDB呢?savesave命原创 2022-05-04 19:20:07 · 2516 阅读 · 0 评论 -
Redis实现消息队列
在Redis中提供了三种实现消息队列的方式:List结构:基于List结构来模拟消息队列PubSub:基本的点对点消息模型Stream:较完善的消息队列模型1. List实现消息队列Redis的List数据结构类型是一个双向链表,而队列要求进,出口不能在同一个位置,所以可以利用List的添加取出命令来实现模拟消息队列。LPUSH,RPOPRPUSH,LPOP但是java在消费消息的时候,如果没有消息了,消费者应该是阻塞等待,等到有消息投递了,再继续消费信息,而上述命令不是阻塞式的,如原创 2022-05-04 16:11:58 · 18102 阅读 · 2 评论 -
分布式锁的实现(秒杀为背景)
1. 全局唯一ID在秒杀后生成的订单,订单ID的设计是值得考虑的。是采用数据库的自增?必然是不行的,首先若是一张订单表,其表的容量是有上限的,且订单的数据量巨大,若是采用多库多表进行存储,那么每个表自增ID都是从1开始,会造成订单ID的重复,且自增ID规律性强,容易被猜测,具有安全隐患。1.1 ID生成策略采用UUID雪花算法采用Redis的自增并且根据业务进行拼接采用Redis的自增并且根据业务进行拼接:第一位是符号位,永远为0,表示正数2-31位是时间戳,可以定义一个起始时间,然后原创 2022-05-03 16:25:43 · 996 阅读 · 0 评论 -
利用Redis进行数据缓存
1. 引言缓存有啥用?降低对数据库的请求,减轻服务器压力提高了读写效率缓存有啥缺点?如何保证数据库与缓存的数据一致性问题?维护缓存代码搭建缓存一般是以集群的形式进行搭建,需要运维的成本2. 将信息添加到缓存的业务流程上图可以清晰的了解Redis在项目中所处的位置,是数据库与客户端之间的一个中间件,也是数据库的保护伞。有了Redis可以帮助数据库进行请求的阻挡,阻止请求直接打入数据库,提高响应速率,极大的提升了系统的稳定性。3. 实现代码下面将根据查询商铺信息来作为背景进行代原创 2022-04-26 16:26:41 · 8203 阅读 · 1 评论 -
Redis实现登录注册
1. 引言在传统的项目中,用户登录成功,将用户信息保存在session中,这种方式在微服务架构中会产生一系列问题。例如在购物车服务具有多台服务器,当一个请求落在购物车1号服务器后,其session保存了用户信息,另一个请求落在了购物车2号服务器,发现没有用户信息,则重新需要进行登录。服务器之间有session不共享的问题。为了解决这一问题,tomcat提出了内存拷贝,即只需要配置一些信息即可实现多台服务器之间的session拷贝,但是这种解决方案也有缺陷,例如:浪费空间拷贝有延时,如果在延时内有请求原创 2022-04-24 12:20:52 · 4393 阅读 · 1 评论 -
java操作redis
1. 导论redis官网推荐的java操作redis的客户端官网地址:https://redis.io/docs/clients/#javaJedis:以Redis命令作为方法名称,学习成本低,简单实用。但是Jedis实例是线程不安全的,多线程环境下需要基于连接池来使用Lettuce:Lettuce是基于Netty实现的,支持同步,异步和响应式编程方式,并且是线程安全的。支持Redis哨兵模式,集群模式,管道模式Redisson:Redisson是一个基于Redis实现的分布式、可伸缩的Jav原创 2022-04-23 20:19:20 · 550 阅读 · 0 评论 -
redis的基本命令
1 redis的数据类型StringListSetSortedSetHashGEOBitMapHyperLog前五种为基本数据类型,后三种为特殊类型。2 Redis命令在redis命令行界面,输入命令即可获取到对应数据类型的操作命令。help @数据类型进入官网 https://redis.io/commands/ 也可以查询对应的操作命令。2.1 Redis的通用命令...原创 2022-04-23 16:37:51 · 8062 阅读 · 1 评论 -
redis安装
1. 下载依赖因为redis是c语言编写的,所以需要gcc的依赖yum install -y gcc tcl2.上传redis安装包上传redis安装包放到usr/local/src 这个目录默认适用于放安装包3 解压安装包tar -xzf redis-6.2.6.tar.gz4 进入redis目录5 编译,安装redismake是编译命令,make install是安装命令make && make install 6此时/usr/local/bin目录下会有原创 2022-04-22 17:07:43 · 545 阅读 · 0 评论