Redis
lemonmini
这个作者很懒,什么都没留下…
展开
-
如何在Java中使用本地缓存提升Redis
本地缓存是提高Redis等数据库性能的最有用的策略之一。希望在Java中进行本地缓存的Redis开发人员会发现Redis不支持这一功能。在本文中,我们将讨论如何使用第三方redis java客户机利用java和redis中的本地缓存什么是本地缓存?缓存是内存缓冲区,用于将数据存储在一个方便的位置,以便以后对该数据的请求能够更快地执行。在本地缓存中,数据库中最常用的数据在物理上存储在离访问它的...原创 2019-12-20 20:55:33 · 815 阅读 · 0 评论 -
Java架构进阶之Redis内存回收策略
1、背景作为时下热门的存储系统,Redis在系统扮演重要角色。不管是 session 存储还是热点数据的缓存,还是其他场景,都会用到 Redis。在生产环境我们偶尔会遇到 Redis 服务器内存不够的情况,那对于这种情况 Redis 的内存是如何回收处理的呢?2、Redis 内存设置我们都知道如果我们要设置 Redis 的最大内存大小只需要在配置文件redis.conf 中配置一行 maxm...原创 2019-12-14 21:11:58 · 443 阅读 · 0 评论 -
在 Java 中利用 redis 实现分布式架构的全局唯一标识服务
获取全局唯一标识的方法介绍在一个IT系统中,获取一个对象的唯一标识符是一个普遍的需求。在以前的单体应用中,如果数据库是一个单数据库的结构。通常可以利用数据库的自增字段来获取这个唯一标识。例如,在 Mysql 数据库中,我们可以通过 sql 语句创建一个自增长的 int 字段类型的表。如下所示。CREATE TABLE student( id INT NOT NULL AUTO_IN...原创 2019-11-27 20:07:49 · 317 阅读 · 0 评论 -
Redis还有淘汰策略?一篇文章让你搞懂淘汰策略的实现!
1 配置文件中的最大内存删除策略在redis的配置文件中,可以设置redis内存使用的最大值,当redis使用内存达到最大值时(如何知道已达到最大值?),redis会根据配置文件中的策略选取要删除的key,并删除这些key-value的值。若根据配置的策略,没有符合策略的key,也就是说内存已经容不下新的key-value了,但此时有不能删除key,那么这时候写的话,将会出现写错误。1.1 最...原创 2019-11-16 18:17:43 · 418 阅读 · 0 评论 -
Java实现Redis的发布订阅
redis的应用场景实在太多了,现在介绍一下它的几大特性之一 发布订阅(pub/sub)。特性介绍: 什么是redis的发布订阅(pub/sub)? Pub/Sub功能(means Publish, Subscribe)即发布及订阅功能。基于事件的系统中,Pub/Sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)...原创 2019-11-16 17:49:52 · 458 阅读 · 0 评论 -
redis源码分析—集群--哨兵模式
redis在启动时,如果进程名是"redis-sentinel",或者参数中带了"–sentinel",这时redis便以哨兵的方式运行。一个sentinel可以监控多个master。sentinel的配置如下// 当前Sentinel节点监控 127.0.0.1:6379 这个主节点// 2代表判断主节点失败至少需要2个Sentinel节点节点同意// mymaster是主节点的别名s...原创 2019-11-15 18:17:02 · 270 阅读 · 0 评论 -
redis源码分析—基本数据结构
redis中使用的数据结构有:dict 字典,就是个哈希表,实现和HashMap类似,不做阐述;不同的是在哈希表resize()的时候是分步执行的,后续篇幅再说明。sds 很多项目都对自己的字符串进行了封装,作用类似于leveldb的slice。linkedlist 双端链表,迭代器的实现是通过链表的pre和next实现的,是个BidirctionalIterator。代码中只实现了For...原创 2019-11-15 17:54:03 · 196 阅读 · 0 评论 -
一篇文章揭秘Redis的磁盘持久化机制
前言Redis 是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将 Redis 中的数据以数据或命令的形式从内存保存到本地磁盘。当下次 Redis 重启时,利用持久化文件进行数据恢复。Redis 提供了 RDB 和 AOF 两种持久化机制,前者将当前的数据保存到磁盘,后者则是将每次执行的写命令保存到磁盘(类似于 MySQL 的 Binlog)。本文将详细介绍 RD...原创 2019-11-11 19:39:22 · 356 阅读 · 0 评论 -
多图解析,让Redis提高数倍性能的Redis管道,是这么一回事
曾经有个阿里P9大佬说过,对于后台开发来说,能够把Spring跟Redis的吃透,来阿里工作完全可以胜任绝大部分后端开发的工作。Redis,作为当前最流行的后台缓存/存储组件,被广泛应用在不同行业、不同系统、不同服务中。今天,我们来谈一谈一个Redis的高级用法,如何使用Redis-cli的管道功能。在了解Redis的管道功能之前,我们先来了解下Linux系统的底层知识,Socket是如何进行通信...原创 2019-11-11 18:24:00 · 179 阅读 · 0 评论 -
redis哨兵:redis哨兵的多个核心底层原理的深入解析
1、sdown(主观宕机)和odown(客观宕机)转换机制sdown和odown两种失败状态sdown是主观宕机,就一个哨兵如果自己觉得一个master宕机了,那么就是主观宕机,如果一个哨兵ping一个master,超过了is-master-down-after-milliseconds指定的毫秒数之后,就主观认为master宕机odown是客观宕机,如果quorum(配置的认为master...转载 2019-10-22 19:18:24 · 291 阅读 · 0 评论 -
Redis高可用技术解决方案分析
主要针对Redis常见的几种使用方式及其优缺点展开分析。一、常见使用方式Redis的几种常见使用方式包括:Redis单副本;Redis多副本(主从);Redis Sentinel(哨兵);Redis Cluster;Redis自研。二、各种使用方式的优缺点1、Redis单副本Redis单副本,采用单个Redis节点部署架构,没有备用节点实时同步数据,不提供数据持久化和备份策略,...原创 2019-09-27 19:06:12 · 115 阅读 · 0 评论 -
面试必知Redis
使用Redis有哪些好处?速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O支持丰富数据类型,支持string,list,set,sorted set,hash支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除redis相比m...原创 2019-09-23 17:54:51 · 111 阅读 · 0 评论