`
fishermen
  • 浏览: 377614 次
社区版块
存档分类
最新评论

redis 的那些事

 
阅读更多

素材汇集:

1 redis with ssd?

antirez 之前做过使用ssd作为swap来进行压测分析,结果发现在内存足够的情况下,通过pipeline,tps可以达到60k TPS;而内存不够,开始使用swap后,极端情况下tps只有1k左右,分析可能跟main hash table(dict)进swap有关,一般在数据多于内存10%以上时,TPS降为2w左右,很多请求响应很慢,服务不稳定,TPS漂移的很厉害,从2w-20w都有可能。

http://antirez.com/news/52

 

2 rdb存储uint(长度)编码方式

由于预期大部分int(集合list、dict、skiplist)、dbid等数字是小正数,11位长度以下的字符串数字也可以用int来代替,redis对int类型进行压缩存储。方法先用1byts的前2bit用来做flag:指示存的是小int或者作为大整数、其他类型;

00|000000 如果前两位MSB(Most Significant Byte)是00,表示是一个6bit的uint,该byte的后面6bit正好存下;

01|000000 如果前两位MSB是01,表示是一个7-14bit的uint,后面6bit再加1bytes正好存;

10|000000 如果前两位MSB是10,表示是一个32bit的uint,后面跟一个4bytes来存储;

11|000000 如果前两位MSB是11,表示是一个编码对象,接下来的后6bit指示对象的type。

 

后面的6bit,redis目前用了最低2bit来表示类型:

#define REDIS_RDB_ENC_INT8   0  表示8bit的signed integer (char);

#define REDIS_RDB_ENC_INT16 1  表示16bit的signed integer (short)

#define REDIS_RDB_ENC_INT32 2  表示32的signed integer (int)

#define REDIS_RDB_ENC_LZF    3   表示用FASTLZ压缩的string。

 

分享到:
评论

相关推荐

    redis 免安装 redis客户端 redis-desktop-manager-0.8.8.384

    Redis 是一个高性能的键值数据库,它以键值对的形式存储数据,广泛应用于缓存、消息中间件、实时分析等领域。在 Windows 环境下,通常需要通过安装过程来设置 Redis 服务,但这里提供的资源是“redis 免安装”,意味...

    redis在win上的运行脚本redis.bat

    Redis是一款高性能的键值对数据库,常用于缓存、消息队列等场景。在Windows操作系统上运行Redis,通常需要借助一些额外的工具。标题提到的"redis在win上的运行脚本redis.bat"就是一个帮助用户在Windows环境下启动...

    Windows版 Redis 5.0.14

    Redis 是一个开源的内存数据结构存储系统,常被用作数据库、缓存和消息代理。在Windows环境下,Redis 的安装和使用与在Linux系统中有所不同。这里我们将详细讨论Windows版Redis 5.0.14的相关知识点。 1. **Redis ...

    StackExchange.Redis Redis客户端

    最近需要在C#中使用Redis,在Redis的官网找到了ServiceStack.Redis,最后在测试的时候发现这是个坑,4.0已上已经收费,后面只好找到3系列的最终版本,最后测试发现还是有BUG或者是我不会用。没有办法,最好找到了...

    Redis-7.0.5-x64 for Windows 64位版 Redis 7.0.5

    Redis是一款高性能的键值对内存数据库,被广泛应用于缓存、数据存储等领域。在这个Windows 64位版本的Redis 7.0.5中,我们能够看到一系列关键组件和配置文件,这使得它能够在Windows环境下运行。以下是关于Redis ...

    Ubuntu安装redis和redis-php扩展

    6. 使用文本编辑器打开 `/etc/redis/redis.conf` 文件,并将 `daemonize no` 修改为 `daemonize yes`,以便 Redis 以后台进程运行: ``` vim /etc/redis/redis.conf ``` 7. 启动 Redis 服务器: ``` /usr/local/bin/...

    redis-windows-7.0.11

    Redis是一种开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis可以用作数据库、缓存和消息中间件。Redis在性能、可扩展性和灵活性方面表现出色,因此被广泛应用于Web...

    redis win x64位 及 安装卸载RedisServer服务

    Redis是世界上最受欢迎的开源内存数据结构存储系统,它可以用作数据库、缓存和消息代理。在Windows 64位环境下,Redis的安装和卸载过程是很多开发者和系统管理员需要了解的重要技能。以下是对这些知识点的详细说明:...

    Windows 上安装 Redis安装,redis7.2安装到windows上面

    在Windows上安装Redis的过程涉及到多个步骤,包括启用必要的Windows功能、安装WSL2(Windows Subsystem for Linux 2)、设置默认WSL版本以及在Linux环境中安装Redis。以下是对这些步骤的详细说明: 1. **启用...

    windows版Redis1

    Redis是世界上最受欢迎的开源键值存储系统之一,它在Linux操作系统上原生运行,但为了满足Windows用户的需求,也提供了Windows版本。标题“windows版Redis1”表明我们讨论的是一个适用于Windows操作系统的Redis...

    Redis 7.0.4 x64位 windows 系统 安装包 Redis7.0.4.zip

    Redis7.0.4.zip,解压缩到D盘根目录后,安装后启动为Windows服务 注意是windows 64位系统才可使用,不支持windows 32位系统使用 已经在Win10,Win11,Windows server 2012系统测试运行可用 使用步骤注意事项: ...

    redis-5.0.4.tar.gz下载及redis安装过程

    redis安装 1: 下载redis-5.0.4.tar.gz 2: 解压源码并进入目录 tar zxvf redis-5.0.4.tar.gz cd redis-5.0.4 3: 不用configure 4: 直接make (如果是32位机器 make 32bit) 查看linux机器是32位还是64位的方法:...

    redis-5.0.3 redis-5.0.4 redis-5.0.5

    redis-5.0.3 redis-5.0.4 redis-5.0.5

    redis 6.0 windows 版本

    Redis是一款高性能的键值存储系统,常用于数据库、缓存和消息代理等场景。它支持丰富的数据类型,如字符串、哈希、列表、集合和有序集合。在Windows平台上使用Redis,通常需要通过编译源码或者寻找预编译的二进制...

    Redis两主部署

    Redis 两主部署高可用性解决方案 Redis 作为一个高性能的 NoSQL 数据库,广泛应用于各种行业的数据存储和缓存中。然而,Redis 的高可用性是企业级应用的关键所在。因此,本文将详细介绍 Redis 两主部署的实现方案,...

    redis++使用说明,windows下编译redis-plus-plus

    "Redis++使用说明,windows下编译Redis-Plus-Plus" 在这篇文章中,我们将详细介绍如何在Windows平台下编译Redis++,包括编译hiredis.lib和Win32_Interop.lib静态库文件的过程,然后安装Cmake并编译Redis++,最后...

    redis校验工具redis-full-check

    **Redis 全面检查工具:redis-full-check** Redis 是一款高性能的键值存储系统,广泛应用于缓存、数据库和消息中间件等场景。在实际应用中,为了确保 Redis 的稳定性和数据一致性,需要定期对 Redis 实例进行健康...

    redis 可视化工具

    Redis 是一款高性能的键值数据库,广泛应用于缓存、消息队列、实时分析等领域。为了更方便地管理和操作 Redis 数据库,出现了许多可视化工具。这些工具提供了图形化的界面,使得用户无需通过命令行就能直观地查看和...

    若依前后端分离版去redis版/无redis版本

    基于前后端分离的应用,无论是否使用Redis,都需要考虑如何进行数据的存储和缓存。下面我将分别介绍基于Redis和无Redis的两种版本的特点。 基于Redis的版本 特点 缓存处理:Redis作为内存数据库可以用来缓存频繁访问...

    Redis使用教程,详解

    Redis 使用教程详解 Redis 是一个高性能的 NoSQL 键值存储数据库,广泛应用于缓存、任务列表、网站访问统计数据、过期处理、应用排行榜、分布式集群架构中的 session 分离等领域。下面是 Redis 的详细使用教程。 ...

Global site tag (gtag.js) - Google Analytics