初探Redis-基础类型Hash

Redis存在五种基础类型:字符串(String)、队列(List)、哈希(Hash)、集合(Set)、有序集合(Sorted Set)。本次列举出Hash的常用操作。 Redis官网:https://redis.io/ 一、哈希(Hash)介绍 哈希(Hash)是Redis 中基本的类型,一个 k ... »

带你100% 地了解 Redis 6.0 的客户端缓存

近日 Redis 6.0.0 GA 版本发布,这是 Redis 历史上最大的一次版本更新,包括了客户端缓存 (Client side caching)、ACL、Threaded I/O 和 Redis Cluster Proxy 等诸多更新。 我们今天就依次聊一下客户端缓存的必要性、具体使用、原理分... ... »

一文了解:Redis过期键删除策略

Redis过期键删除策略 Redis中所有的键都可以设置过期策略,就像是所有的键都可以上"生死簿",上了生死簿的键到时间后阎王就会叉掉这个键。同一时间大量的键过期,阎王就会忙不过来。同时因为Redis是单线程的,导致阎王的处理时间会变得很长,而且处理繁忙,Redis就会出现卡顿现象。 Redis有三 ... »

redis高可用之DNS篇

1. 背景 例如,存在一套redis主从(主从节点在不同的主机上),应用程序通过主库的ip进行读写操作。 但是,主库一旦出现故障,虽然有从库,且从库提升为主库,但是应用程序如果想使用从库则必须修改配置,重启应用方可生效。如用此情况,则涉及的人员比较多,且应用程序恢复使用的时间比较长。对于此情况,可以 ... »

一文了解:Redis的AOF持久化

Redis的AOF持久化 每当Redis Server接收到写数据时,就把命令以文本形式追加到AOF文件里,当重启Redis服务时,AOF文件里的命令会被重新执行一次,重新恢复数据。当AOF过大时将重写AOF文件。 工作原理 appendonly.aof文件中 可以看到上面的示例中写操作有lpush ... »

一文了解:Redis事务

Redis事务 事务提供了一种"将多个命令打包,一次性提交并按顺序执行"的机制,提交后在事务执行中不会中断。只有在执行完所有命令后才会继续执行来自其他客户的消息。 Redis中的使用 Redis通过multi,exec,discard,watch实现事务功能。 1. multi:开始事务 2. ex ... »

图解Redis之数据结构篇——压缩列表

前言     同整数集合一样压缩列表也不是基础数据结构,而是 Redis 自己设计的一种数据存储结构。它有点儿类似数组,通过一片连续的内存空间,来存储数据。不过,它跟数组不同的一点是,它允许存储的数据大小不同。 一、压缩列表   &nbsp ... »

一文了解:Redis基础类型

Redis基础类型 Redis特点 开源的,BSD许可高级的key value存储系统 可以用来存储字符串,哈希结构,链表,集合 安装 windows:https://github.com/microsoftarchive/redis/releases maclinux:http://www.re ... »

什么是redis的缓存雪崩与缓存穿透

今天来分享一下Redis几道常见的面试题: 如何解决缓存雪崩? 如何解决缓存穿透? 如何保证缓存与数据库双写时一致的问题? 一、缓存雪崩 1.1 什么是缓存雪崩? 首先我们先来回答一下我们为什么要用缓存(Redis): 1、提高性能能:缓存查询是纯内存访问,而硬盘是磁盘访问,因此缓存查询速度比数据库 ... »

Spring源码解析——循环依赖的解决方案

一、前言 承接 "《Spring源码解析——创建bean》" 、 "《Spring源码解析——创建bean的实例》" ,我们今天接着聊聊,循环依赖的解决方案,即创建bean的ObjectFactory。 二、ObjectFactory 这段代码不是很复杂,但是很多人不是太理解这段代码的作用,而且,这 ... »

Redis 学习笔记(篇七):Redis 持久化

因为 Redis 是内存数据库,它将自己的数据储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据也将会丢失,为了解决这个问题,Redis 提供了持久化的功能。 Redis 中的持久化有两种,分别是 RDB 和 AOF。 RDB 持久化 R ... »

记一次idea问题—performing vcs refresh...

01、前言 本人出现该场景是,我把本地SVN A项目删了,而A项目与B项目同在一个SVN目录下,当我修改B项目且提交代码时,出现了该问题。 idea不是很懂操作,就搜索了一下得出了三种答案,但只有其一帮助了我。 02、方法一 选择 File Invalidate Caches / Restart I ... »

redis缓存穿透,缓存击穿,缓存雪崩原因+解决方案

一、前言 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题,可是一旦涉及大数据量的需求,比如一些商品抢购的情景,或者是主页访问量瞬间较大的时候,单一使用数据库来保存数据的系统会因为面向磁盘,磁盘读/写速度比较慢的问题而 ... »

图解Redis之数据结构篇——整数集合

前言     整数集合(intset)并不是一个基础的数据结构,而是Redis自己设计的一种存储结构,是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时, Redis i就会使用整数集合作为集合键的底层实现。 一、整数集合实现 & ... »

MongoDB与Redis的简单使用

mongodb 概念解析 | SQL术语/概念 | MongoDB术语/概念 | 解释说明 | | : : | | | | database | database | 数据库 | | table | collection | 数据库表/集合 | | row | document | 数据记录行/文档 ... »

Redis(六)--- Redis过期策略与内存淘汰机制

1、简述 关于Redis键的过期策略,首先要了解两种时间的区别,生存时间和过期时间; 生存时间:一段时长,如30秒、6000毫秒,设置键的生存时间就是设置这个键可以存在多长时间,命令有两个 expire(秒)、pexpire(毫秒)(可以参考 Redis(四) Redis命令参考)。 过期时间:一个 ... »

Redis项目实战---应用及理论(二)---Redis集群原理

一、 Redis官方推荐集群方案:Redis Cluster 适用于redis3.0以后版本, redis cluster 是redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了redis分布式的需求,当一个redis节点挂了可以快速的切换到另一个节点。 架构细节: (1)所有的r ... »