LRU LFU算法介绍算法
LRU算法的设计原则是:若是一个数据在最近一段时间没有被访问到,那么在未来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。服务器
LFU(Least Frequently Used)最近最少使用算法。它是基于“若是一个数据在最近一段时间内使用次数不多,那么在未来一段时间内被使用的可能性也很小”的思路。并发
LRU的淘汰规则是基于访问时间,而LFU是基于访问次数的。memcached
Memcached分配内存机制 slab alloction大数据
Memcached会预先分配内存,memcached分配内存方式称之为allocator,首先,这里有3个概念:
1 slab
2 page
3 chunk.net
4 item设计
LRU LFU算法介绍进程
LRU算法的设计原则是:若是一个数据在最近一段时间没有被访问到,那么在未来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。内存
LFU(Least Frequently Used)最近最少使用算法。它是基于“若是一个数据在最近一段时间内使用次数不多,那么在未来一段时间内被使用的可能性也很小”的思路。get
LRU的淘汰规则是基于访问时间,而LFU是基于访问次数的。
Memcached分配内存机制 slab alloction
Memcached会预先分配内存,memcached分配内存方式称之为allocator,首先,这里有3个概念:
1 slab
2 page
3 chunk
4 item
启动Memcache的服务器端:
[root@localhost]# /usr/local/bin/memcached -d -m 100 -u root -l 192.168.36.200 -p 11211 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,若是有多个地址的话,我这里指定了服务器的IP地址192.168.36.200,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,咱们这里统一使用11211
-c选项是最大运行的并发链接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定。
-P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,
Memcached单进程最大使用内存为2G,要使用更多内存,能够分多个端口开启多个Memcached进程
最大30天的数据过时时间,设置为永久的也会在这个时间过时,常量REALTIME_MAXDELTA
60*60*24*30控制
最大键长为250字节,大于该长度没法存储,常量KEY_MAX_LENGTH 250控制
单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576进行控制,
它是默认的slab大小
最大同时链接数是200,经过 conn_init()中的freetotal进行控制,最大软链接数是1024,经过
settings.maxconns=1024 进行控制
跟空间占用相关的参数:settings.factor=1.25, settings.chunk_size=48, 影响slab的数据占用和步进方式
启动Memcache的服务器端:
[root@localhost]# /usr/local/bin/memcached -d -m 100 -u root -l 192.168.36.200 -p 11211 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,若是有多个地址的话,我这里指定了服务器的IP地址192.168.36.200,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,咱们这里统一使用11211
-c选项是最大运行的并发链接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定。
-P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid,
Memcached单进程最大使用内存为2G,要使用更多内存,能够分多个端口开启多个Memcached进程 最大30天的数据过时时间,设置为永久的也会在这个时间过时,常量REALTIME_MAXDELTA 60*60*24*30控制 最大键长为250字节,大于该长度没法存储,常量KEY_MAX_LENGTH 250控制 单个item最大数据是1MB,超过1MB数据不予存储,常量POWER_BLOCK 1048576进行控制, 它是默认的slab大小 最大同时链接数是200,经过 conn_init()中的freetotal进行控制,最大软链接数是1024,经过 settings.maxconns=1024 进行控制 跟空间占用相关的参数:settings.factor=1.25, settings.chunk_size=48, 影响slab的数据占用和步进方式