Redis
程序员掉头发
这个作者很懒,什么都没留下…
展开
-
Redis 通过巧妙地使用数据结构节省内存空间(附 实验代码)
有了方面的知识,我们可以根据不同的场景来预估Redis会使用的内存容量。前言Redis数据结构容量评估的相关知识 ------ 想学的小伙伴可以移步Redis相关数据结构的容量评估那么这边博客就介绍一下,如果数据量达到千万甚至上亿级别时,该如何优化数据结构,节省内存空间。Redis 数据结构和编码方式继续回顾一下这张图,为什么Redis要对这些数据结构,分别设置多种编码方式(底层数据结构实现)呢?肯定是有原因的,因为随着数据量的上涨,或者存储的键值本身的大小变化,都会影响到对应编码方式的选择,原创 2020-09-30 17:07:17 · 1589 阅读 · 1 评论 -
Redis 相关数据结构的容量评估
作者:LeiLv链接:https://www.jianshu.com/p/5c5dc0d7d776来源:简书1.jemalloc 内存分配模型jemalloc基于申请内存的大小把内存分配分为三个等级:small,large,huge:Small Object 的size以8字节,16字节,32字节等分隔开,小于页大小;Large Object 的size以分页为单位,等差间隔排列,小于chunk的大小;Huge Object 的大小是chunk大小的整数倍。对于64位系统,一般chunk.转载 2020-09-28 19:45:16 · 2290 阅读 · 0 评论 -
Redis 底层结构和对象介绍 超级详细!!
本文主体参考Redis设计与实现第二版 对于有时间的同学可以直接阅读原书,我这里做一个详细的总结,并结合自己的一些思考。1.SDSRedis没有直接使用C语言传统的字符串,而是自己构建一个简单动态字符串(SDS),并将SDS作未Redis的默认字符串表示。reids>SET msg "hello world"会在Redis创建一个新的键值对:key是一个字符串对象,对象的底层是一个保存"msg"的SDSvalue也是一个字符串对象,底层同样是保存 "hello world"的SDS.原创 2020-09-24 19:12:28 · 414 阅读 · 0 评论 -
Redis持久化---RDB和AOF机制
一、Redis持久化概述Redis是内存数据库,为了避免进程退出导致的数据丢失,Redis会定期的以某种形式将数据从内存保存到硬盘;在下次Redis重启时,利用持久化文件实现数据恢复。Redis持久化分为RDB持久化和AOF持久化:前者将当前数据保存到硬盘,后者则将每次执行的写命令保存到硬盘(类似于MySQL的binlog);由于AOF持久化的实时性更好,当进程意外退出时,丢失的数据更好,所以AOF是目前主流的持久化方式。二、RDB持久化将当前进程中的数据生成快照保存到硬盘,保存的文件名后缀是rdb转载 2020-07-05 20:28:52 · 227 阅读 · 0 评论