
redis
striner
这个作者很懒,什么都没留下…
展开
-
【Redis深入】字典rehash图解
引入在讲rehash之前,我们先回顾一下字典的结构1.字典dict.h/dict的源码/* * 字典 */typedef struct dict { // 类型特定函数 dictType *type; // 私有数据 void *privdata; // 哈希表 dictht ht[2]; // rehash 索引...转载 2018-08-29 09:27:24 · 548 阅读 · 0 评论 -
一致性Hash算法
一、Redis集群的使用我们在使用Redis的时候,为了保证Redis的高可用,提高Redis的读写性能,最简单的方式我们会做主从复制,组成Master-Master或者Master-Slave的形式,或者搭建Redis集群,进行数据的读写分离,类似于数据库的主从复制和读写分离。如下所示:同样类似于数据库,当单表数据大于500W的时候需要对其进行分库分表,当数据量很大的时候(标准可能不...转载 2019-03-10 18:12:48 · 233 阅读 · 0 评论 -
为什么说Redis是单线程的以及Redis为什么这么快!
一、前言近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。如果你在以前面试的时候还没有遇到过面试官问你《为什么说R...转载 2019-03-10 18:29:13 · 271 阅读 · 0 评论 -
Redis及缓存雪崩、缓存穿透
本文大纲一、简介二、Redis持久化方案三、Redis的缓存雪崩,缓存穿透,缓存预热,缓存更新,缓存降级等问题及解决方案一 、简介1.Redis的特点Redis是一种非关系数据库(不会像MySQL一样多个表直接存在直接关联关系),也是一种内存型数据库Redis是单线程的,并且是直接基于内存的,所以执行效率会非常高为什呢Redis是单线程的呢?(经典面试题) 官方回答...转载 2019-03-10 18:42:56 · 268 阅读 · 0 评论 -
Redis常见面试题
1、什么是Redis?Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储...转载 2019-03-10 18:52:28 · 313 阅读 · 0 评论 -
Redis知识点整理(全)
Redis安装及常用命令整理1.Redis安装过程官网:https://redis.io/download#下载、解压、编译:wget http://download.redis.io/releases/redis-5.0.5.tar.gztar xzf redis-5.0.5.tar.gzcd redis-5.0.5make#将Redis启动路径添加至环境变量中,方便对...原创 2019-06-27 10:24:33 · 3274 阅读 · 0 评论 -
深入了解Redis内存模型
一前言Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解Redis的5种对象类型的用法和特点的基础上,进一步了解Redis的内存模型,对Redis的使用...转载 2019-08-25 19:52:04 · 182 阅读 · 0 评论 -
redis的五大数据类型实现原理
目录1、对象的类型与编码2、字符串对象3、列表对象4、哈希对象5、集合对象6、有序集合对象7、五大数据类型的应用场景8、内存回收和内存共享9、对象的空转时长 在Redis中,并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这些对象系统也就是前面说的五大数据类型,每一种数据类型都至少用到了一种数据结构。...转载 2019-08-28 13:31:17 · 923 阅读 · 0 评论 -
Redis-bitmaps的介绍与应用
Redis-bitmaps·什么是bitmapsBitmaps并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M。字节操作可以分为两类:恒定时间的单个字节操作如将一个字节设置为1或者0、或者获取一个字节的值,和批量字节操作如在给定的字节范围内计算设置字节的数量。Redis中bitma...原创 2019-09-16 16:26:21 · 870 阅读 · 0 评论