Memcached安装 查看memcached状态 Memcached语法规则  memcached数据导出和导入

2023-05-16

 使用yum安装Memcached 

memcached依赖于libevent,在安装memcached之前需要检查libevent是否安装

#rpm -qa libevent 

[root@harry-01 ~]# yum list | grep memcache 
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
libmemcached.i686                           1.0.16-5.el7               base     
libmemcached.x86_64                         1.0.16-5.el7               base     
libmemcached-devel.i686                     1.0.16-5.el7               base     
libmemcached-devel.x86_64                   1.0.16-5.el7               base     
memcached.x86_64                            1.4.15-10.el7_3.1          base     
memcached-devel.i686                        1.4.15-10.el7_3.1          base     
memcached-devel.x86_64                      1.4.15-10.el7_3.1          base     
pcp-pmda-memcache.x86_64                    4.1.0-5.el7_6              updates  
php-pecl-memcache.x86_64                    3.0.8-4.el7                base     
python-memcached.noarch                     1.48-4.el7                 base     
[root@harry-01 ~]# yum -y install memcached 
fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: ap.stykers.moe
 * updates: ap.stykers.moe

启动memcached服务

[root@harry-01 ~]# systemctl start memcached 

#查看memcache进程

[root@harry-01 ~]# ps aux | grep memcache 
memcach+   6973  0.0  0.1 350616  2184 ?        Ssl  21:41   0:00 /usr/bin/memcached -u memcached -p 11211 -m 64 -c 1024
root       6987  0.0  0.0 112724   984 pts/0    R+   21:41   0:00 grep --color=auto memcache
vim /etc/sysconfig/memcached 可以配置参数
比如加上监听的ip,可以把OPTIONS="" 改为OPTIONS="127.0.0.1"
-m指定memcached分配内存
-c指定最大并发数
-u指定运行memcached服务的用户
 

查看memcached状态

•memcached-tool 127.0.0.1:11211  stats
• 或者echo stats |nc 127.0.0.1 11211  需要安装nc工具  yum install -y nc  (ncat)
• 若安装libmemcached后,可以使用命令
• memstat --servers=127.0.0.1:11211 查看memcached服务状态
日常需要关注 curr_items,  get_hits   命中率=get_hits / curr_items  
 
 

Memcached命令行

•telnet 127.0.0.1 11211   如果没有telnet命令,则需要使用yum安装
• set key2 0 30 2  存储一条命令

ab

STORED

get key2

VALUE key2 0 2

ab

END

Memcached语法规则 

•  <command name> <key> <flags> <exptime> <bytes>\r\n <data block>\r\n  注:\r\n在windows下是Enter键
• <command name> 可以是set, add, replace
• set表示按照相应的<key>存储该数据,没有的时候增加,有的时候覆盖
• add表示按照相应的<key>添加该数据,但是如果该<key>已经存在则会操作失败
• replace表示按照相应的<key>替换数据,但是如果该<key>不存在则操作失败。

 <key> 客户端需要保存数据的key

•<flags> 是一个16位的无符号的整数(以十进制的方式表示)。
该标志将和需要存储的数据一起存储,并在客户端get数据时返回。
客户端可以将此标志用做特殊用途,此标志对服务器来说是不透明的。
• <exptime> 为过期的时间。
若为0表示存储的数据永远不过期(但可被服务器算法:LRU 等替换)。
如果非0(unix时间或者距离此时的秒数),当过期后,服务器可以保证用户得不到该数据(以服务器时间为标准)。
• <bytes> 需要存储的字节数,当用户希望存储空数据时<bytes>可以为0
• <data block>需要存储的内容,输入完成后,最后客户端需要加上\r\n(直接点击Enter)作为结束标志。
set key3 1 100 4   #1是<flags>   100是<exptime>为过期时间  4是<bytes>字节数   
abcd   #data block 

STORED
get key3
VALUE key3 1 4
abcd
END
replace key3 1 200 5
abcdx
STORED
get key3
VALUE key3 1 5
abcdx
END
delete key3
DELETED
get key3
END 

 

memcached数据导出和导入

每当需要重启服务器之前,需要将memcached中的数据导出(memcached是存储在内存中,一旦重启数据就会消失) 

• 导出:
memcached-tool 127.0.0.1:11211 dump > data.txt
 cat data.txt
• 导入:
 nc 127.0.0.1 11211 < data.txt
 若nc命令不存在,yum install nc
 注意: 导出的数据是带有一个时间戳的,这个时间戳就是该条数据过期的时间点,如果当前时间已经超过该时间戳,那么是导入不进去的
 

PHP连接Memcached

先安装php的memcache扩展

[root@harry-01 ~]# cd /usr/local/src/
[root@harry-01 src]# wget http://www.apelearn.com/bbs/data/attachment/forum/memcache-2.2.3.tgz


2019-03-02 23:23:11 (1.16 MB/s) - 已保存 “memcache-2.2.3.tgz” [27366/27366])

[root@harry-01 src]# tar zxf memcache-2.2.3.tgz 
[root@harry-01 src]# cd memcache-2.2.3
[root@harry-01 memcache-2.2.3]# /usr/local/php-fpm/bin/phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

[root@harry-01 memcache-2.2.3]# echo $?
1
//出现错误 解决办法:yum -y install autoconf

[root@harry-01 memcache-2.2.3]# ./configure --with-php-config=/usr/local/php-fpm/bin/php-config
checking for grep that handles long lines and -e... /usr/bin/grep

[root@harry-01 memcache-2.2.3]# make && make install

安装完后会有类似这样的提示:

cc49e4ea215f0b6a2db8f391c36607f2096.jpg

修改php.ini添加一行

[root@harry-01 ~]# vim /etc/php.ini 
extension=memcache.so

检查/usr/local/php/bin/php-fpm -m

3771c902f6e3951440ec7909412cfcaf96f.jpg
 

下载测试脚本

curl www.apelearn.com/study_v2/.memcache.txt > 1.php 2>/dev/null

1.php内容也可以参考https://coding.net/u/aminglinux/p/yuanke_centos7/git/blob/master/21NOSQL/1.php

执行脚本

/usr/local/php-fpm/bin/php 1.php

或者将1.php放到某个虚拟主机根目录下面,在浏览器访问,即可看到效果

最终可以看到数据如下:

 [0] => aaa

 [1] => bbb

 [2] => ccc

 [3] => ddd

 

Memcached中存储session  

#编辑php.ini添加两行
session.save_handler = memcache #指定存储类型 
session.save_path = "tcp://192.168.0.9:11211"   #指定端口
或者httpd.conf中对应的虚拟主机中添加
php_value session.save_handler "memcache" 
php_value session.save_path "tcp://192.168.0.9:11211"  
或者php-fpm.conf对应的pool中添加
php_value[session.save_handler] = memcache
php_value[session.save_path] = " tcp://192.168.0.9:11211 
wget http://study.lishiming.net/.mem_se.txt
mv .mem_se.txt  /usr/local/apache2/htdocs/session.php
#其中session.php内容可以参考https://coding.net/u/aminglinux/p/yuanke_centos7/git/blob/master/21NOSQL/session.php
curl localhost/session.php 
#类似于1443702394<br><br>1443702394<br><br>i44nunao0g3o7vf2su0hnc5440
telnet 127.0.0.1 11211
get i44nunao0g3o7vf2su0hnc5440 

 

转载于:https://my.oschina.net/u/3993226/blog/3017403

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Memcached安装 查看memcached状态 Memcached语法规则  memcached数据导出和导入 的相关文章

  • 是否有 memcache 到 .Net 的端口?

    我感兴趣是否有用于服务器实现的端口 Windows 服务器端口 Win32 的内存缓存 http www splinedancer com memcached win32 Jellycan 代码 memcached http code je
  • Rails Action 缓存用户特定记录

    我是一个 Rails 新手 试图为我的应用程序实现缓存 我安装了 memcached 并在development rb中对其进行了如下配置 config action controller perform caching true conf
  • 基于Memcache的消息队列?

    我正在开发一款多人游戏 它需要一个消息队列 即消息输入 消息输出 没有重复或删除的消息 假设没有意外的缓存驱逐 以下是我所知道的基于内存缓存的队列 内存缓存问 http memcachedb org memcacheq http memca
  • 如何告诉 Django,memcached 运行时的项目大小大于默认值?

    我使用新设置来增加 memcached 中的项目大小 但我无法通过 Django 后端存储大于 1mb 的内容 我知道memcache模块需要一些设置来实现这一点 Django 在后端使用这个模块 From memcache py 可以保存
  • PECL 安装失败

    从 PHP5 2 6 升级到 php 5 3 后 看起来 我还必须重新安装 PHP memcache module 所以我下载了最新版本的memcache 3 0 6 并遵循此文档 http www php net manual en in
  • JMeter - 使用 beanshell 通过 telnet 执行命令

    我正在尝试在beanshell中编写一个jmeter采样器来执行memcached telnet接口命令 特别是flush all 我需要它在每次测试后清除缓存 因为它会导致快速连续的测试失败 我有以下代码 import org apach
  • play框架2.0支持memcached吗?

    我阅读了 Play Framework 2 0 文档 但没有任何关于 memcached 的文字 如何在 Play Framework 2 0 中使用 memcached 为什么在2 0中消失 在1 x中 这很容易 正如评论中已经指出的 默
  • 当缓存已满 40% 时 Memcached 被驱逐

    当 memcached 仅占 40 时 我看到了驱逐 这怎么可能 通过运行 memcached 统计信息检查平板大小 看起来您的平板填充不均匀 即使缓存未满 这也会导致驱逐
  • Memcache 打开后 Magento 会话消失

    我们遇到一个问题 当我们启用 memcache 在 nginx Web 服务器上 时 会话会从 Magento 1 10 中随机消失 我们在 Magento 中设置 cookie 过期时间似乎并不重要 由于某种原因 会话在一小时内的任何随机
  • 如何获取node.js中的所有memcached数据?

    首先 我的目的是当用户关闭浏览器时用户会话数据应该过期 现在的问题是 我的服务器需要 memcached 才能正常工作 因此 我想从已关闭浏览器的 memcached 中删除该特定用户会话 我不想清除所有内存缓存 以便剩余用户的会话仍然存在
  • memcached 是否在 Google App Engine 中跨服务器共享?

    在memcached网站上 它说memcached是一个分布式内存缓存 这意味着它可以跨多个服务器运行并保持某种一致性 当我在谷歌应用程序引擎中发出请求时 同一实体组中的请求很可能由同一服务器提供服务 我的问题是 假设有两台服务器为我的请求
  • GAE:memcache:在多个应用程序实例中是否相同

    我有一个非常基本的问题 在 GAE 中 如果我使用 memcache 来存储第一次从数据库检索到的一些数据 如果该数据在缓存中保留大约 2 天 那么所述应用程序的所有实例都会得到 查看 它并从缓存中检索它 或者每个应用程序实例的缓存是独立的
  • 如何开始使用 memcached

    目前我正在做一个项目 需要使用memcached 我研究了很多网络链接 但我不明白如何开始使用 memcached 我已经使用过 mongodb 但希望获得有关 memcached 配置的帮助 我使用的是 Windows 7 操作系统 到目
  • 未找到类“Memcached”-(php 5.4.9,windows 7)

    我在 Windows 7 64 位机器 上安装了 php 5 4 9 32 位 并将其配置为作为 php fpm 进程运行 我的 Web 应用程序需要 memcached 因此在我的 php ext 文件夹中安装了 memcached 守护
  • 在 MySQL 中使用 NoSQL

    我注意到 MySQL 可以将 Memcached NoSQL 与 InnoDB 结合使用 但我无法检索有关如何使用它的信息 我想与 PHP 一起使用 NoSQL 查询是标准的吗 首先 MySQL从5 6版本开始只支持NoSQL的memcac
  • Memcache 统计数据理解

    Memcache telnet 接口有命令称为STATS 它显示了很多数字 我在哪里可以看到它的含义 如何分析它们 多少缓存使用是有效的等等 更新的文档位于https github com memcached memcached blob
  • 在nodejs服务器的内存中存储

    似乎有很多有前途的软件包 但没有明确建议哪个是最快的 可扩展的 哪个是内存效率更高的 npm 安装memoizee https www npmjs com package memoizee npm 安装内存缓存 https www npmj
  • 使用 MYsql 5.6 内存缓存

    我想我一定错过了一些非常明显的东西 但我想做的是使用 MySQL 5 6 并通过 memcache 返回值 所以我已经设置MYSQL来使用memcache插件 在innodb memcache containers表中设置详细信息 我现在该
  • 从 Django 缓存中删除特定项目?

    我正在使用站点范围的缓存内存缓存 http en wikipedia org wiki Memcached作为后端 当底层数据库对象更改时 我想使缓存中的页面无效 如果页面名称发生更改 那么我将使整个缓存无效 因为它会影响每个页面上的导航
  • 反序列化时出现 Protobuf-net memcache 提供程序 null 类型错误

    我正在使用最新的 protobuf net lib 和 protobuf net memcache 提供程序 我需要序列化自定义类型 MyClass 的列表 ProtoContract public class MyClass ProtoM

随机推荐

  • make, cmake, bazel

    整理收集了一些自动化编译链接工具的使用教程 希望可以在之后能更好的理解和使用它们 1 make Linux 下 Make 命令Linux make Command Explained With Examples使用make命令编译项目文件入
  • win7环境下安装ubuntu双系统

    我按照网上的方法实验了好多次 xff0c 最终实验出了一种绝对可以成功的方法 一 软件准备 1 下载 Ubuntu 系统镜像 xff1a http www ubuntu com download desktop xff1b 我用的是ubun
  • Linux/Ubuntu16.04 安装RealSense SDK 2.0

    RealSense实感 Intel 安装环境 xff1a Ubuntu 16 04 需要有USB3 0 不是16 04的系统 xff0c 安装过程不同 更多的安装细节 xff0c 见参考资料 1 更新Ubuntu以及BOOT sudo ap
  • KEIL MDK 5默认快捷键一览

    以前使用MDK时总感觉这个IDE不是很方便 xff0c 有些常用功能的快捷键不知道是什么 xff0c 偶然发现在MDK中可自定义功能的快捷键 xff0c 而且有些功能的快捷键已经设置好 在此将这些快捷用表格形式列出来 xff0c 便于大家查
  • 工科研究生如何选导师的一点点建议

    引言 今天是教师节 xff0c 首先祝老师们节日快乐 今天说说关于工科研究生如何选导师 xff0c 选一个合适自己的老师 xff0c 每个教师节你都能诚心的祝福自己的导师 我见过的导师类型也有限 xff0c 仅供参考 我从以下几个方面为大家
  • 解决if __name__ == ‘__main__‘下面的代码未执行的问题

    很多人在用pycharm运行代码时会出现if name 61 61 34 main 34 下面的代码没有执行的问题 xff0c 出现这类问题的原因是unittest运行姿势造成的 xff0c 如图 xff1a 解决方案 xff1a 点击倒三
  • ROS总结——ROS节点

    理解ROS节点 本博客是对http wiki ros org 上ROS教程的学习总结 xff0c 欢迎大家交流学习 本节介绍 ROS 图 xff08 graph xff09 概念并介绍如何使用roscore rosnode和 rosrun
  • VSCode 的 #ifdef 区域变灰

    习惯了使用 VSCode xff0c 写 C 43 43 代码也用这个编辑器 xff0c 但是有 ifdef 的地方就会变灰 xff0c 很影响使用 可以在 C C 43 43 插件里打开设置 xff0c 将下面这个选项去勾选 xff1a
  • FreeRTOS系列|内存管理二

    内存管理二 内存管理应用实例 本实例介绍FreeRTOS内存管理中heap 4方法的内存申请和释放函数的使用 xff0c 并观察申请和释放过程中内存大小的变化情况 使用STM32CubeMX将FreeRTOS移植到工程中 xff0c 创建一
  • bitmap转yuv420p数据以及数据灰度化

    bitmap获取argb数据 64 param bitmap 64 return private int getArgbFromBitmap Bitmap bitmap int argbs 61 new int bitmap getWidt
  • Assertion "OSQCreate" failed at line 71 in ..\LWIP\arch\sys_arch.c错误解决方法

    最近在做STM32F407的开发板实验的时候 xff0c 在开发板移植了uCosII和LWIP xff0c 按照正点原子的开发板例程 xff0c 做到第八个实验 NETCONN TCP Client 的时候 xff0c 出现了如下的错误 A
  • IaaS、PaaS和SaaS简单理解

    IaaS xff1a Infrastructure as a Service 基础设施即服务 第一层叫做IaaS 基础设施即服务有时缩写为 IaaS xff0c 包含云 IT 的基本构建块 xff0c 通常提供对联网功能 计算机 xff08
  • opencv aruco参数分析

    aruco cpp 在287行有一个DetectInitialCandidatesParallel 在这里面有并行操作 xff0c 用于对图像进行二值化 xff0c 之后检测二值化后的图像中是否存在marker 其循环次数直接和adapti
  • 超实用的 IPTV 管理工具,xTeVe 助你定制专属电视频道。

    虽然现在视频流媒体点播平台已经成为了大家主要的影音娱乐渠道 xff0c 似乎没什么人看电视了 xff0c 但我想需求还是在的 xff0c 比如家里的长辈可能就不太会操作点播平台 xff0c 他们比较习惯传统的直播电视 xff0c 再比如新闻
  • 无线 315MHz 433MHz 868MHz 915MHz 频段

    http zhidao baidu com question 555639763 html 一般国内最好使用430 440MZH段 xff0c 如433 92 xff2d xff28 xff3a 是使用最普遍的 xff0c 配套产品齐全 x
  • Kalibr标定时卡在Extracting calibration target corners的问题

    问题 使用Kalibr标定单目相机与单目imu联合标定 xff0c 都出现卡在Extracting calibration target corners的问题 xff0c 因此做一个记录 运行标定命令后一直卡在下面 Initializing
  • 卡尔曼滤波Q、R如何调节?

    转载 xff1a 作者 xff1a 小心假设 链接 xff1a https www zhihu com question 30481204 answer 50092960 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权
  • zynqmp zcu102 arm 裸机UDP

    sdk2017没有udp例程只有tcp例程 以下是调试通的udp例程 xff1a 1 创建lwip测试工程或者在现有工程添加lwip库 2 添加udp代码 xff0c 也可以从tcp例程修改 xff1a int udpinit struct
  • 在自平衡中角动量守恒的原理分析

    角动量守恒原理 xff1a 对于单个转动物质 xff1a 角动量L 61 I w xff08 I 转动惯量 w xff1a 转动角速度 xff09 一般形状的物体转动惯量计算如下 xff1a 1 对于细杆 xff08 1 xff09 当回转
  • Memcached安装 查看memcached状态 Memcached语法规则  memcached数据导出和导入

    使用yum安装Memcached memcached依赖于libevent 在安装memcached之前需要检查libevent是否安装 rpm qa libevent root 64 harry 01 yum list grep memc