一.理论 FIFO:先进先出调度算法 LRU:最近最久未使用调度算法 两者都是缓存调度算法,经常用作内存的页面置换算法。 打一个比方,帮助你理解。你有很多的书,比如说10000本。由于你的书实在太多了,你只能放在地下室里面。你看书的时候不会在地下室看书,而是在书房看书。每次,你想看书都必须跑到地下室 ...
分类:
编程语言 时间:
2018-03-11 00:33:30
阅读次数:
231
首先看下serverCron中,服务器每次循环执行的时候,都会刷新server.lrulock。 使用的方法是getLRUClock,LRU_CLOCK_RESOLUTION代表LRU算法的精度,即一个LRU的单位是多长时间。LRU_CLOCK_MAX代表逻辑时钟的最大位数,类似现实中的表盘,划分了 ...
分类:
其他好文 时间:
2018-03-02 20:58:40
阅读次数:
255
在实现LRU算法的时候lru_list 開始用的是deque 可是由于害怕其在插入删除上的迭代器失效情况的诡异情况。遂用list取代之。 在数据量比較大的时候性能不是非常好。性能优化分析的时候决定用deque替换回来。于是对deque迭代器失效的情况好好研究了一下: c++ primer如此写道: ...
分类:
其他好文 时间:
2018-02-15 20:58:54
阅读次数:
245
源码包的简单说明: com.google.common.annotations:普通注解类型。 com.google.common.base:基本工具类库和接口。 com.google.common.cache:缓存工具包,非常简单易用且功能强大的JVM内缓存。 com.google.common. ...
分类:
编程语言 时间:
2018-02-10 21:56:34
阅读次数:
254
/var/log/redis_6379.log 日志文件
/var/lib/redis/6379 数据目录
/usr/local/bin/redis-server Redis服务器软件存储路径
vim /etc/redis/6379.conf 配置文件
.....
maxmemory <bytes> 最大内存
maxmemory-policy volatile-lru 内存满时,使用LRU算法清理旧数据
daemonize yes 守护进程
pidfile /var/run/redis_6379.pid 进程PID
port 6379 端口号
timeout 300 连接超时时间
loglevel notice 日志级别
logfile /var/log/redis_6379.log 日志文件
databases 16 数据库个数
save 900 1 数据库镜像频率
dbfilename dump.rdb 镜像备份文件名
/var/l
分类:
数据库 时间:
2018-01-19 00:21:29
阅读次数:
255
==配置文件全解=== ==基本配置 daemonize no 是否以后台进程启动 databases 16 创建database的数量(默认选中的是database 0) save 900 1 #刷新快照到硬盘中,必须满足两者要求才会触发,即900秒之后至少1个关键字发生变化。 save 300 ... ...
分类:
其他好文 时间:
2018-01-15 18:53:15
阅读次数:
169
首先,需要先配置redis的conf文件,涉及到lru相关的配置一共有三个分别是:maxmemory,设置redis用来存放数据的最大的内存大小,一旦超出这个内存大小之后,就会立即使用LRU算法清理掉部分数据maxmemory-policy,可以设置内存达到最大闲置后,采取什么策略来处理(1)noeviction: 如果内存使用达到了maxmemory,client还要继续写入数据,那么就直接报错
分类:
编程语言 时间:
2018-01-15 00:21:27
阅读次数:
361
转载地址:http://gnucto.blog.51cto.com/3391516/998509 Redis与Memcached的区别 传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾 ...
分类:
系统相关 时间:
2017-12-17 22:09:55
阅读次数:
369
redis调优总结 1、相应的参数调优 加内存2、redis使用结构调优3、使用合理的数据类型说明:redis存储的数据为redis hash(字符映射表) 单key多字段结构。 1)调整配置文件中配置项的值(修改文件:redis.conf)1)调整memory大小 redis.conf 中maxm ...
分类:
其他好文 时间:
2017-10-09 14:21:19
阅读次数:
347
Least recently used,最近最少使用 最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 1. 新数据插入到链表头部; 2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部; 3. 当链表满的时候,将链表尾部的数据丢弃。 LRU-K LRU-K中的K代表最近使用的次数 ...
分类:
编程语言 时间:
2017-09-27 13:17:47
阅读次数:
167