memcached命令

linux memcached 安装

£可爱£侵袭症+ 提交于 2020-01-06 01:39:33
下载并安装Memcache服务器端 服务器端主要是安装memcache服务器端. 下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz 另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-1.3。(如果你的系统已经安装了libevent,可以不用安装) 官网:http://www.monkey.org/~provos/libevent/ 下载:http://www.monkey.org/~provos/libevent-1.3.tar.gz 用wget指令直接下载这两个东西.下载回源文件后。 1.先安装libevent。这个东西在配置时需要指定一个安装路径,即./configure –prefix=/usr;然后make;然后make install; 2.再安装memcached,只是需要在配置时需要指定libevent的安装路径即./configure –with-libevent=/usr;然后make;然后make install; 这样就完成了Linux下Memcache服务器端的安装。详细的方法如下: 1.分别把memcached和libevent下载回来,放到 /tmp 目录下: # cd /tmp

面试题:缓存Redis与Memcached的比较 有用

寵の児 提交于 2020-01-01 05:11:37
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数, 从而提供动态、数据库驱动网站的速度. Memcached基于一个 存储键/值对的hashmap 。 Redis是一 个key-value存储系统 ,和Memcached类似。但是它支持存储的value类型相对更多, 包括string(字符串)、 list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型) 。 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都 是原子性的 。在此基础上 ,redis支持各种不同方式的排序 。与memcached一样, 为了保证效率,数据都是缓存在内存中。区别的是 redis会周期 性的把更新的数据写入磁盘或者 把修改操作写入追加的记录文件 ,并且在此基础上实现了master-slave(主从)同步。 Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便. 下面主要介绍一下Redis与Memcached的不同。

Memcached和Redis比较

时光怂恿深爱的人放手 提交于 2020-01-01 05:11:28
一、存储 Memcached基本只支持简单的key-value存储方式。 Redis除key-value之外,还支持list,set,sorted set,hash等数据结构; Redis支持数据的备份,即master-slave模式的数据备份; Redis支持数据的持久化(快照、AOF),可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用; Redis可以实现主从复制,实现故障恢复; Redis的Sharding技术,很容易将数据分布到多个Redis实例中。 二、数据一致性 Memcached的cas命令在并发场景下,保证数据的一致性。 Redis事务支持比较弱,只能保证事务中的每个操作连续执行。 三、内存管理   Memcached使用预分配的内存池的方式。使用slab和大小不同的chunk来管理内存,Item根据大小选择合适的chunk存储,内存池的方式可以省去申请/释放内存的开销,并且能减小内存碎片产生,但这种方式也会带来一定程度上的空间浪费,并且在内存仍然有很大空间时,新的数据也可能会被剔除。   Redis使用现场申请内存的方式来存储数据。并且很少使用free-list等方式来优化内存分配,会在一定程度上存在内存碎片,Redis跟据存储命令参数,会把带过期时间的数据单独存放在一起,并把它们称为临时数据,非临时数据是永远不会被剔除的,即便物理内存不够

Centos 下安装使⽤ Memcache

冷暖自知 提交于 2020-01-01 04:45:24
1.美图 2.安装 在 Centos 下安装使⽤用 yum 命令安装 Memcache ⾮非常简单: yum install -y memcached 启动: /usr/bin/memcached -b -p 11211 -m 150 -u root >> /tmp/memcached.log & 启动参数可以配置,常⽤用的命令选项如下: m 内存 c 最⼤大链接数 p 端⼝口 u ⽤用户 t 线程数 查看 memcached 是否在运⾏行行: ( base ) lcc@lcc memadmin$ ps -ef | grep memcached 501 55194 1 0 11:29上午 ?? 0:00.52 /usr/local/bin/memcached -d 501 56702 1 0 11:37上午 ?? 来源: CSDN 作者: 九师兄 链接: https://blog.csdn.net/qq_21383435/article/details/103743458

缓存中间件-Memcache命令介绍

眉间皱痕 提交于 2019-12-28 14:25:57
1.美图 2.命令 您现现已经登录到 memcached 服务器。此后,您将能够通过一系列简单的命令来与 memcached 通信。9 个 memcached 客户端命令可以分为三类: 基本 高级 管理 2.1 基本 memcached 客户机命令 您将使用五种基本 memcached 命令执行最简单的操作。这些命令和操作包括: set add replace get delete 前三个命令是用于操作存储在 memcached 中的键值对的标准修改命令。它们都非常简单易用,且都使用清单 5 所示的语法: 2.2 修改命令语法 command 表 定义了 memcached 修改命令的参数和用法。 memcached 修改命令参数 参数 用法 key key 用于查找缓存值 flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 expiration time 在缓存中保存键值对的时间长度(以秒为单位,0 表示永远) bytes 在缓存中存储的字节点 value 存储的值(始终位于第二行) 现在,我们来看看这些命令的实际使用。 2.3 set set 命令用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。 注意以下交互,它使用了 set 命令: set userId 0 0 5 12345 STORED 如果使用 set 命令正确设定了键值对

windows 环境配置memcached

家住魔仙堡 提交于 2019-12-28 03:17:47
windowsr如何下安装memcached 首先我们来说明一下memcache与memcached的关系 memcached基本就是等于memcache的升级,所以我们能用memcached就用memcache,毕竟升级版在性能还有一些函数方法上有一定的优化 memcache是什么? memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。这是一套开放源代码软件,以BSD license授权发布。 memcache的缓存是在内存中,这样我们一些数据就可以避免反复读取数据库 memcache的使用场景 非持久化对数据存储要求不高的数据 分布式存储提高网页的响应速度的 -memcache的缓存因为是放在内存中,所以单机不推荐(吃内存),建议有专一的服务器使用memcache memcache是key/values型 就等于我们有一张数据表 只有两个字段 一个key=>value 下面我们来进行windows下的安装,首先我们从网上下载到memcached http://pan.baidu.com/s/1hsyVg0W 这里面有php扩展和memcached 都要下载好 memchched安装 首先我们下载解压缩到某个文件夹

memcached 源码阅读笔记

允我心安 提交于 2019-12-21 23:28:15
阅读 memcached 最好有 libevent 基础, memcached 是基于 libevent 构建起来的. 通由 libevent 提供的事件驱动机制触发 memcached 中的 IO 事件. 个人认为, 阅读源码的起初最忌钻牛角尖, 如头文件里天花乱坠的结构体到底有什么用. 源文件里稀里哗啦的函数是做什么的. 刚开始并没必要事无巨细弄清楚头文件每个类型定义的具体用途; 很可能那些是不紧要的工具函数, 知道他的功能和用法就没他事了. 来看 memcached 内部做了什么事情. memcached 是用 c 语言实现, 必须有一个入口函数 main() , memcached 的生命从这里开始. 初始化过程 建立并初始化 main_base, 即主线程的事件中心, 这是 libevent 里面的概念, 可以把它理解为事件分发中心. 建立并初始化 memcached 内部容器数据结构. 建立并初始化空闲连接结构体数组. 建立并初始化线程结构数组, 指定每个线程的入口函数是 worker_libevent() , 并创建工作线程. 从 worder_libevent() 的实现来看, 工作线程都会调用 event_base_loop() 进入自己的事件循环. 根据 memcached 配置, 开启以下两种服务模式中的一种: 以 UNIX 域套接字的方式接受客户的请求 以

Memcached常用指令

你。 提交于 2019-12-16 23:17:53
博文大纲: 一、存储常用的指令 1.set指令 2.add指令 3.replace指令 4.append指令 5.prepend指令 6.cas指令 二、常用的查找指令 1.get指令 2.gets指令 3.delete指令 4.incr指令 5.decr指令 6.stats指令 7.stats items指令 8.stats slabs指令 9.stats sizes指令 10.flush_all指令 一、存储常用的指令 常用的存储数据的指令有: set 命令是保存一个叫做 key 的数据到服务器上; add 命令是添加一个数据到服务器,但是服务器必须保证这个 key 是不存在的,能够保证数据不会被覆盖; replace 命令是替换一个已经存在的数据,如果数据不存在,就是类似 set 功能; 上述指令的语法格式都是一样的,只是指令不一样而已,语法如下: <命令> <键> <标记> <有效期> <数据长度> 各个参数含义如下: <命令>:就是add、set、replace等指令; <键> - key:就是保存在服务器上唯一的一个标识符,不可以与其他的key冲突,否则会覆盖掉原来的数据(使用set命令的话),这个key是为了能够准确的存取一个数据项目; <标记> - flag:标记的是一个16位的无符号整型数据,用来设置服务器跟客户端一些交互的操作; <有效期>

缓存协议:redis和memcached的优缺点及区别

拟墨画扇 提交于 2019-12-13 21:24:20
memcached 和 redis 都很类似:都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。 那么题主说 memcached 的事情 redis 都可以做,那么为什么 memcached 还有人用?那是因为它们两者并不是完全可以相互替代的,它们也有各自的长短优缺点 Memcached Memcached的优点: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。 适用于最大程度扛量,有效为服务器减压。 支持直接配置为session handle。 配置维护的坑比较少。 Memcached的局限性: 数据结构很简单单一,只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型。 无法进行持久化,数据不能备份,只能用于缓存使用,且重启后数据全部丢失。 无法进行数据同步,不能将MC中的数据迁移到其他MC实例中。 Memcached内存分配采用Slab Allocation机制管理内存,value大小分布差异较大时会造成内存利用率降低,并引发低利用率时依然出现踢出等问题。需要用户注重value设计。 memcached服务端原生不支持水平扩展

【12.10】memrcached(下)

心已入冬 提交于 2019-12-11 07:53:50
【12.10】memrcached(下) 21.5 memcached命令行 21.6 memcached数据导出和导入 21.7 php连接memcached 21.8 memcached中存储sessions 21.5 memcached命令行 [ root@arslinux-01 ~ ] # telnet 127.0.0.1 11211 Trying 127.0.0.1 .. . Connected to 127.0.0.1. Escape character is '^]' . set key2 0 30 2 12 STORED set key1 0 20 3 abc STORED get key1 VALUE key1 0 3 abc END get key2 END set key名 过期时间 value的值 Memcached 语法规则: <command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n 注: \r\n在windows下是Enter键 <command name> 可以是set, add, replace set 表示按照相应的 存储该数据,没有的时候增加,有的时候覆盖 add 表示按照相应的 添加该数据,但是如果该 已经存在则会操作失败 replace 表示按照相应的 替换数据