Redis 前身 MemCache

云计算 waitig 416℃ 百度已收录 0评论

MemCached 缓存技术

什么事MemCached

Memcache 是一套开源,高性能的分布式的内存对象缓存系统,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著 。
Memcache 将所有数据存储在内存中,并在内存里维护一个统一的巨
大的 Hash 表,它能存储任意类型的数据,包括图像、视频、文件以及数
据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中
读取,从而大大提高读取速度。

为什么要有 MemCached

请大家先看一个问题,这个问题在大并发,高负载的网站中必须考虑!
大家思考如何让速度更快
解决方案
传统的RDBMS
页面静态化
MemCached 缓存技术

MemCache 的基本原理和体系结构

简单来说,memcached就是在内存中维护一张巨大的hash表,通过自己一套路由算法来维护数据的操作

这里写图片描述

MemCached 数据的存储方式和过期

1 、数据存储方式:Slab Allocation  即:按组分配内存
(1)每次先分配一个 Slab,相当于一个 page,大小 1M。
(2)然后在 1M 的空间里根据内容再划分相同大小的 chunk
(3)优点是:最大限度的利用内存,避免产生内存碎片
(4)缺点是:会造成内存的浪费

这里写图片描述

   2.数据过期方式
    (1)懒过期方式(Lazy Expiration)memcached 内部不监视数据是否过期,而是 get 时查看记录时间,检查是否已经过期,这叫惰性过期。
    (2)LRU 算法:采用最近最少使用算法淘汰内存中的数据

MemCached 的安装和部署

实验环境:
    OracleLinux-R6-U6-Server-i386-dvd.iso
    memcached-1.4.25.tar.gz
    memcached-1.2.8-repcached-2.2.tar.gz
    libevent-2.0.21-stable.tar.gz
    spymemcached-2.10.3.jar
1 、安装 GCC  编译器所需的 rpm  包
    rpm -ivh libgomp-4.4.7-11.el6.i686.rpm
    rpm -ivh libstdc++-devel-4.4.7-11.el6.i686.rpm
    rpm -ivh kernel-headers-2.6.32-504.el6.i686.rpm
    rpm -ivh glibc-headers-2.12-1.149.el6.i686.rpm
    rpm -ivh glibc-devel-2.12-1.149.el6.i686.rpm
    rpm -ivh ppl-0.10.2-11.el6.i686.rpm
    rpm -ivh cloog-ppl-0.15.7-1.2.el6.i686.rpm
    rpm -ivh mpfr-2.4.1-6.el6.i686.rpm
    rpm -ivh cpp-4.4.7-11.el6.i686.rpm
    rpm -ivh gcc-4.4.7-11.el6.i686.rpm
    rpm -ivh gcc-c++-4.4.7-11.el6.i686.rpm
    rpm -ivh telnet-0.17-48.el6.i686.rpm
2 、安装 Libevent
*、确认是否已经安装?并删除旧版本
    //检查在虚拟机上是否事先存在libevent
    rpm -qa | grep libevent

    //删除已经存在的libevent --nodeps 表示再删除的时候 并不删除它的相关依赖
    rpm -e libevent-1.4.13-4.el6.i686 --nodeps

    //解压文件夹
    tar -zxvf libevent-2.0.21-stable.tar.gz

    //安装到文件夹 文件夹 应该事先去创建好
    //安装到/root/training/libevent 目录
    ./configure --prefix=/root/training/libevent

    //一次执行 make 和 make install 命令 开始安装
    make
    make install

安装 MemCached

[root@linux112 memcached-1.4.25]# ./configure prefix=/root/training/memcached --with-libevent=/root/training/libevent

//然后执行 make  ----> make install 命令
4启动 MemCached :memcached -h 帮助信息
启动命令:
./memcached -u root -d -m 128
-p:指定端口 默认:11211
-u:指定用户名(root 用户必须使用该选项)
-m:分配的内存,默认:64M
-c:最大并发连接,默认 1024
-d:启动一个守护进程

安装好之后需要使用到linux的 telent 命令 需要去光盘上去安装
将光盘挂载到虚拟机上
这里写图片描述

进入到光盘 Packages目录下  安装telent
//查看光盘中的 telnet 
[roo@linux112 Packages]$ ls | grep 'telnet.*'

//客户端 
telnet-0.17-64.el7.x86_64.rpm

//服务器端  我们需要安装服务器端
telnet-server-0.17-64.el7.x86_64.rpm

安装客户端 telnet

rpm -ivh telnet-0.17-64.el7.x86_64.rpm

接下来就可以操作 memcache了


本文由【waitig】发表在等英博客
本文固定链接:Redis 前身 MemCache
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)