`
xiaoZ5919
  • 浏览: 400429 次
  • 性别: Icon_minigender_1
  • 来自: 安平人@北京
博客专栏
Group-logo
Netty学习笔记
浏览量:72762
社区版块
存档分类
最新评论

Redis Object的Idle Time

 
阅读更多
1. 获取object的idletime的算法
    if (server.lruclock >= o->lru) {
        return (server.lruclock - o->lru) * REDIS_LRU_CLOCK_RESOLUTION;
    } else {
        return ((REDIS_LRU_CLOCK_MAX - o->lru) + server.lruclock) *
                    REDIS_LRU_CLOCK_RESOLUTION;
    }
2.redis每隔 REDIS_LRU_CLOCK_RESOLUTION更新一次server.lruclock,REDIS_LRU_CLOCK_RESOLUTION默认为10
server.lruclock = (server.unixtime/REDIS_LRU_CLOCK_RESOLUTION) & REDIS_LRU_CLOCK_MAX;
3.#define REDIS_LRU_CLOCK_MAX ((1<<21)-1) 
4.Redis为了节省内存,采取了一个折中的方案,采用21bit(redis中的comment说到是22bit,从上面来看应该是21bit)再乘以10s的方案,每隔10s更新一下server.lruclock,2^22能保存到时间间隔也只有1.5年左右,如果超过1.5年怎么办?算法1为了解决这个问题,提供了两个if分支,第一种是常见情况,object在读写以后更新lru,而系统每隔10s更新一次,假设一段时间内这个object没有被访问过那么就会有server.lruclock >= o->lru。第二种情况,如果超过1.5年server.lruclock就有可能变成一个较小的值,使得某些object的lru,大于server.lruclock,于是就有第二个if分支。
0
0
分享到:
评论

相关推荐

    wordpress加速缓存插件Redis Object CacheV2.4.4

    今天给大家带来wordpress...那么就是需要利用插件Redis Object Cache来实现。 宝塔面板php安装Redis拓展,注意要到php拓展里面安装Redis拓展,不能直接在宝塔软件商店里面装,直接在软件商店装会pho会连接不上redis

    redis键值数据库源码分析

    主要通过redisObject进行类型转换。 t_list.c list在Server/Client中的应答操作。主要通过redisObject进行类型转换。 t_set.c set在Server/Client中的应答操作。主要通过redisObject进行类型转换。 t_string.c ...

    Using Redis As a Time Series Database: Why and How

    Using Redis As a Time Series Database: Why and How

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

    Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows ...

    redisredis redis redis redis

    redisredis redis redis redis

    Redis实战Redis实战

    Redis实战 Redis实战 Redis实战 Redis实战 Redis实战 Redis实战 Redis实战

    Redis_redis_

    Redis 思维导图 Redis Redis Redis

    Redis Essentials

    Build a Time Series implementation in Node.js and Redis Create your own Redis commands by extending Redis with Lua Get to know security techniques to protect your data (SSL encryption, firewall rules,...

    redis-windows-7.0.11

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

    redis6.2.6 redis.conf配置文件

    redis6.2.6 redis.conf配置文件

    redis-5.0.5.tar.gz

    redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-...

    windows环境下配置redis6集群

    集群已配置好,点击start.bat即可开启,可以按个人需求添加或删除redis服务器个数。 注意:由于本人配置redis.conf中的路径使用的是绝对路径,当前redis安装目录的父目录为D:\InstallDir...cluster-node-timeout 15000

    Redis3集群安装

    Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装Redis3集群安装...

    redis.conf Redis配置文件下载

    redis.conf Redis配置文件 下载 redis.conf 配置详解 Redis配置文件redis.conf 详解1.基本配置内存单位的表示# 1k =&gt; 1000 bytes# ...Redis 的详细介绍Redis 的下载地址

    redis和redisdesktop

    redis redisDesktop ---------安装redis及使用redisDesktop查看数据

    redis缓存 redis缓存

    redis缓存 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版/无redis版本

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

    redis 和 redis 可视化工具

    使用时打开redis 文件夹 双击 start.bat文件 启动redis ,不要关闭窗口,关闭窗口redis同时关闭

Global site tag (gtag.js) - Google Analytics