`
ChristmasLin
  • 浏览: 42021 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

redis的几项修改

 
阅读更多

 

最近的空闲时间都在抠redis的源码,强大并最大限度节约内存的数据类型是里面的亮点。

看完后有点想法,在上面做点个人感觉能起正向作用的修改。

 

  1. 基于redis的原生事件框架支持多线程处理访问,类似于memcached的处理手法。在多核处理器上能有多大的性能提升还要看测试结果。虽然说多线程访问引入锁和增加系统复杂度,但对于性能的提升还是抱乐观态度的。
  2. 额外提供2个数据类型,一个是ziplist的改进版,实现更紧凑的内存结构。一个是uintset,在某些场景,都是uint,uintset针对uint作优化,主要也是节省内存,但可能会损失轻微的性能。
  3. 移除vm的相关代码,虽然作者也说vm的代码在以后的版本废弃,但2.4.2还是存在的,因为要在上面做改动,这部分代码实在是非常碍事。对于vm,初步有个想法,换一个思路,大多数的处理方法都是把冷数据自己管理,写到磁盘。在这里,把一部份冷的value再分配到一系列完整的内存块(大于等于4k),剩下的就交给操作系统了,热数据不会阻碍冷value被交换到磁盘区。这样就不用自己做io。这个想法的可行性还要进一步验证。
  4. 客户端支持localcache。之前iteye有张帖子是说localcache的http://www.iteye.com/topic/1117582,感觉localcache这个想法挺有意思的,但是对于这种监听通知的处理方法不太认同。初步的方案是localcache的数据支持超时时间,在超时前,都是返回本地的数据,超时后再远程cacheserver获取,当然也支持强制远程。然后重新计算超时。这种方案的好处是简单,对于cacheserver没有额外要求,并且滞后时间可控。这个功能对于允许数据更新滞后的场景还是有价值的,例如在一些展现给用户的场景,在几秒钟内都是本地cache,如果是高频率访问,带来的提升还是很可观的。如果cacheserver还支持数据version,在读多写少的情况下,连数据传输都省了。

突然发现,redis2.4.3 release了,之前的改动都是基于2.4.2的,还要去抠一下2.4.3的变动。。。。

 

 

0
0
分享到:
评论

相关推荐

    cpp_redis修改源码之后的版本vs2015,解决不能在xp环境上面运行

    4. **动态链接库(DLL)兼容性**:如果cpp_redis或tacopie动态链接到XP中不存在的DLL,那么需要确保所有依赖项都在XP上可用或已替换。 5. **编译设置**:在VS2015中,可能需要特定的编译选项来确保生成的二进制文件...

    redis安装及php扩展redis的安装

    需要修改 `daemonize` 配置项为 `yes`,以便在后台启动 Redis。然后,需要添加 `vm.overcommit_memory = 1` 到 `/etc/sysctl.conf` 文件,以解决 WARNING overcommit_memory 是 set to 0 的问题。 Redis 启动 启动...

    redis6.2.4安装.docx

    在 Linux 系统中安装 Redis 通常包括几个主要步骤:安装必要的编译工具、解压安装包、编译安装 Redis。 **1.1 安装编译工具** 在开始安装 Redis 之前,需要确保系统中已安装了必要的编译工具。可以通过以下命令...

    redis win 64/redis win管理工具

    使用Redis Desktop Manager管理Redis时,需要注意以下几点: - **安全**:由于Redis默认监听所有网络接口,应配置合适的防火墙规则或设置bind选项,仅允许特定IP访问。 - **密码保护**:启用`requirepass`配置项,...

    redis-windows-7.2.4.zip(免安装,解压即可使用)

    在Windows环境下使用Redis,首先需要确保系统满足其运行环境,比如.NET Framework等依赖项。然后,解压下载的zip文件到一个合适的目录,例如`C:\Redis`。接着,可以运行`redis-server.exe`启动服务器,如果需要...

    redis安装文件Redis-x64-3.2.10、Redis-x64-3.0.50

    首先,Redis的安装过程通常包括以下几个步骤: 1. 解压:对于.zip文件,你需要将其解压缩到本地文件夹。这可以通过各种解压缩工具完成,如WinRAR或7-Zip。对于.msi文件,这是Windows下的安装程序,双击即可启动安装...

    redis-windows-好多版本的redis.zip

    每个版本的Redis都有配置文件`redis.conf`,你可以根据需要修改各项参数,如端口号、数据库数量、持久化策略等。例如,将`port`设置为非默认的6379可以避免与其他服务冲突。 Redis支持多种持久化方式:RDB(快照)...

    redisStudy.zip

    加分项:另外redis还对这几种数据结构做了扩展,如GEO对位置计算,hyperLogLog做统计,bitmaps:redis底层存储value值都是存储的二进制数据,redis提供bitmaps(位图)可以直接访问或修改底层存储的二进制数据 ...

    redis快速入门详解.ppt

    + daemonize:Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程。 + pidfile:当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/redis.pid文件,可以通过 pid...

    安装redis(主备)

    Redis主从复制是一项重要的特性,可以用来实现数据冗余、负载均衡以及避免单点故障等问题。主从架构的构建通常包括以下几个步骤: 1. **配置主节点**:首先需要在主节点上配置Redis服务,确保其正常运行。 2. **...

    linux下的redis安装包含配置文件

    在Linux系统中,Redis是一个广泛使用的高性能键值存储系统,常用于数据库、缓存和消息代理等场景。本文将详细讲解如何在Linux环境下安装...在实际操作过程中,一定要仔细检查每一项配置,避免因配置错误导致的问题。

    Redis服务端

    在Windows环境下,可能需要修改以下几项: - `bind 127.0.0.1`:默认情况下,Redis只监听本地回环地址,如果需要远程访问,可以注释掉这一行或改为你的IP地址。 - `protected-mode yes`:如果不需要保护模式,可以...

    Redis部署文档 单机 集群 监控

    - Redis官方文档中提供了详细的配置项说明,建议在部署前详细阅读配置文件中的每个选项,以便根据实际需求进行调整。 - 当部署多个Redis实例时,每个实例都应当有独立的配置文件和数据目录,以避免潜在的资源冲突。 ...

    redis实时库x64安装包

    2. **修改配置**:打开`redis.conf`,根据服务器环境和需求调整配置。例如,可以设置`bind 0.0.0.0`允许所有IP连接,或者设置`protected-mode no`关闭保护模式。 3. **启动Redis服务**:由于描述中提到增加了快捷...

    Redis学习总结

    Redis的配置文件是一个关键组件,其中包含了多个配置项,比如daemonize,它可以控制Redis服务端是否在后台运行。如果需要将Redis服务端设置为后台运行,需要将daemonize的值修改为yes。 综上所述,了解Redis的工作...

    zabbix监控redis

    2. **配置插件**:修改插件配置文件,如`redis4bix.conf`,设置Redis服务器的IP地址、端口、认证信息(如果启用了)等。 3. **权限设置**:确保Zabbix代理可以执行该脚本,并具有访问Redis服务器的权限。 4. **...

    Windows环境下安装Redis和java使用Redis的Demo

    `Windows下redis安装教程.docx`提供了详细的步骤指导,大致包括以下几个关键环节: 1. 下载Redis:Redis通常为源码形式,但针对Windows,官方提供了一个预编译的二进制版本,如`Redis-x64-3.2.100.zip`。下载后,解...

    redis安装的版本和配置文件

    首先,安装Redis的过程通常分为以下几个步骤: 1. **下载源码**:你可以从Redis的官方网站(https://redis.io/download)获取最新版本的源代码。例如,如果你选择的是Redis 6.x版本,你可以下载对应的tar.gz文件。 ...

    Redis集群搭建篇.docx

    在进行Redis集群搭建之前,我们需要准备以下几项工作: 1. **环境准备**:确保所有服务器或虚拟机上的Redis版本一致,并且已经安装完成。 2. **目录结构**:根据文档描述,需要创建`pid`、`logs`和`data`三个目录。...

    解决redis修改requirepass后不生效的问题

    在生产环境中,为了保障数据的安全性,通常会启用认证机制,其中 `requirepass` 配置项是 Redis 提供的一种简单密码验证方式。然而,有时在修改 `requirepass` 后,可能会遇到配置不生效的问题,这通常是由于以下几...

Global site tag (gtag.js) - Google Analytics