-
1. Redisson 实现分布式锁原理浅析
在上一文中分布式锁的三种实现方案总结了目前业界常见的实现分布式锁的三种方案:1、基于数据库表排他锁2、基于Redis的setNX命令+过期时间+lua脚本3、基于Zookeerper的临时结点。本文我们继续通过源码分析一下Redisson实现分布式锁的原理。回顾:Redis实现分布式锁主要步骤指定一个key作为锁标记,存入Redis中,并且指定一个唯一的用户标识作为value。当key不存在...
http://www.easyblog.top:80/article/details/249 - 2020-06-16 - Redis -
2. Redis五种常见数据结构的实现及使用场景
一、Redis对象底层数据结构Redis的八种编码类型,如下表所示:编码类型编码所对应的底层数据结构REDIS_ENCODING_INT8字节的long长整型REDIS_ENCODING_EMBSTRembstr编码的简单动态字符串REDIS_ENCODING_RAW简单动态字符串REDIS_ENCODING_HT字典REDIS_ENCODING_LINKEDLIST双端链表REDIS_EN...
http://www.easyblog.top:80/article/details/282 - 2020-10-06 - Redis -
3. Redis缓存和MySQL数据一致性解决方案探究
在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。然而在工程技术领域并没有100%完美的解决方案,正如这里,读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。我们所说的一致性就是在要...
http://www.easyblog.top:80/article/details/250 - 2020-06-18 - Redis -
4. MyBatis整合Redis作为二级缓存
Redis不像Ehcache一样提供了针对MyBatis的二级缓存的实现,因此需要我们自己来实现缓存的逻辑,但是归根到底原理是一样的,就是实现MyBatis的org.apache.ibatis.cache.Cache接口,在实现类中我们把数据的存取中间件变为了Redis而已,下面是一个实现的示例:之后在Mapper文件中指定缓存使用我们实现的这个缓存即可。
http://www.easyblog.top:80/article/details/122 - 2019-07-11 - MyBatis -
5. 管理分布式会话的四种方式以及基于Redis的分布式会话实现方案
应用服务器的高可用架构设计最为理想的是服务无状态,但实际上业务总会有状态的,以session记录用户信息的例子来讲,未登入时,服务器没有记入用户信息的session访问网站都是以游客方式访问的,账号密码登入网站后服务器必须要记录你的用户信息记住你是登入后的状态,以该状态分配给你更多的权限。那么管理session有哪些方法呢?一、四种分布式Session管理方案1、Session复制sessi...
http://www.easyblog.top:80/article/details/288 - 2020-11-16 - Redis -
6. 神秘的Redis持久化机制
Redis与传统数据的一个主要区别就是Redis将所有的数据都存储在内存中,而传统数据库通常只会把数据存储到磁盘上,这就使得Redis的数据存储和读取有着极快的速度,但是由于内存属于易失存储器,它记录的所有数据一旦断电就消失了,这对于想把Redis作为数据库而不仅仅是缓存的用户来说是不能容忍的。为了满足不同场景下的持久化需求,Redis提供了RDB(RedisDataBase)持久化、AOF...
http://www.easyblog.top:80/article/details/230 - 2019-10-09 - Redis -
7. 秒懂,Redis缓存穿透、缓存击穿、缓存雪崩概念以及应对策
如上图所示,我们在应用程序和Mysql数据库中建立一个中间层,即Redis缓存。通过Redis缓存可以有效减少查询数据库的时间消耗,这极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题无解。如果对数据的一致性要求极高,那么就不能使用缓存。另外的一些典型问题就是,缓存穿透、缓存击穿和缓存雪崩。本文...
http://www.easyblog.top:80/article/details/245 - 2020-06-09 - Redis -
8. Redis配置文件redis.conf详解
Redis脚本简介在我们介绍Redis的配置文件之前,我们先来说一下Redis安装完成后生成的几个可执行文件:redis-server、redis-cli、redis-benchmark、redis-stat、redis-check-dump、redis-check-aof:Redis配置文件详解开头说明开头说明中主要就是要注意在redis中内存大小写k和kb是不一样的,前者是1000的倍数...
http://www.easyblog.top:80/article/details/229 - 2019-10-08 - Redis -
9. Redis的Java客户端—Jedis和Lettuce
Jedis连接Redis1.添加Jedis依赖2.在虚拟机端配置:将bind注释掉,然后改protected-mode为no改了之后保存并重启Redis。3.使用Jedis提供的Jedis这个工具类来连接Jedis,首先在虚拟机使用ifconfig命令查看虚拟机的ip,然后向Redis发送一个ping命令,测试一下是否可以连接上远程的Redis:可以连接上Redis的标志是程序运行后打印”P...
http://www.easyblog.top:80/article/details/233 - 2019-10-14 - Redis -
10. 单线程的Redis为什么高并发场景下还是很快
缓存在高并发的场景的作用不言而喻,号称高并发架构的基石,其中最为典型代表非Redis莫属。无论你是想面试通关,还是实战中用好Redis,理解Redis的设计精髓,就变得很重要了。今天主要分享Redis关于单线程以及高并发场景的核心设计。一、Redis到底有多快?Redis采用的是基于内存的采用的是单进程单线程模型的KV数据库,由C语言编写,官方提供的数据是可以达到100000+的QPS(每秒...
http://www.easyblog.top:80/article/details/251 - 2020-06-20 - Redis -
11. Redis五种常用数据类型及命令详解
Redis键(key)的通用命令,所有的数据类型都可以使用string有关命令字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据货Json对象描述信息等,是标准的key-value,一般来存字符串,整数和浮点数。value最多可以容纳的数据长度为512MB应用场景:很常见的场景用于...
http://www.easyblog.top:80/article/details/228 - 2019-10-08 - Redis -
12. 手把手教你在Centos 7上安装、配置、启动Redis
一、什么是Redis?Redis是RemoteDictionarySevery的缩写,中文名称:远程字典服务器,它是一个基于C语言编写的完全开源免费,并且遵循BSD协议的一个高性能的key-value型分布式内存数据库。Redis使用key-value的形式保存值,常用的数据类型有String、list、hash、set、zset等数据结构,因此也被人们称为数据结构服务器。二、在Linux(...
http://www.easyblog.top:80/article/details/174 - 2019-10-08 - Redis -
13. Redis的过期键删除策略以及内存淘汰策略
Redis的数据已经设置了TTL,不是过期就已经删除了吗?为什么还存在所谓的淘汰策略呢?这个原因我们需要从redis的过期策略聊起。一、Redis过期键策略redis键的过期时间都保存在过期字典中,过期键的删除策略有3种:定时删除:在设置键的过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即删除对键的删除操作。惰性删除:放任键过期不管,但每次从键空间中获取键时,都检查取得的键...
http://www.easyblog.top:80/article/details/283 - 2020-10-10 - Redis -
14. Redis的事务控制
事务的基本概念事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发来的命令请求打断。事务是一个原子操作:事务中的命令要么全部执行,要么全部不执行。Redis事务相关的几个命令multi:MULTI命令用于开启一个事务,它总是返回OK。MULTI执行之后,客户端可以继续向服务器发送任意多条命令,这些命令不会立即被执行,而是被放到一个队列中,...
http://www.easyblog.top:80/article/details/231 - 2019-10-11 - Redis -
15. Redis主从复制的几种形式和原理详解
主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master),后者称为从节点(salve)。数据的复制是单向的,只能从主节点到从结点。 默认情况下,每台Redis服务器都是...
http://www.easyblog.top:80/article/details/232 - 2019-10-12 - Redis