memcache的基本操作
1、linux下启动memcache
[root@localhost ~]# memcached -d -m 512 -u root -p 12266 -c 256
参数名称及意义:
-d 以守护进程方式启动。如果该参数没有指定,当按ctrl+c命令结束,memcache自动关闭
-m 分配给memcache使用的最大内存数 单位是m,默认是64m
-u 指定运行memcache的用户
-l: 指定监听的ip地址
-p 指定监听的tcp端口号,可以通过-u指定udp端口.默认是11211
-c 最大并发连接数
-P 报错进程id的文件
2、连接memcache
linux下一般使用telnet连接memcache服务,如下:
[root@localhost ~]# telnet 127.0.0.1 11266
3、基本操作
添加修改key-value,命令格式:
<command> <key> <flags> <exptime> <bytes>\r\n
参数名称及意义:
command add, set或 replace
key 缓存的名字
flag 16位无符号整数,和key要存储的数据一起存储,并在程序get缓存时,返回。
exptime 过期时间,0 表示永远不过期,如果非零,表示unix时间或距此秒数
bytes 存储数据的字节数
\r\n 表示换行回车
【补充】
key:学过计算机基础和学过计算机数据库结构的人都知道,计算机有个比较常用的结构叫hash,这是数据结构中最重要的数据结构。key和value就是通过hash,hash有一个自己独造的函数,通过key计算某个固定的值,将value存到这个key计算的固定的值里面,当我们通过get取得时候,通过key我们就可以很快的在内存中找到我们当时存的key所对应的value的值,所以速度非常快;
flag:memcache 基于简单的文本协议,传输的东西,理解成字符串来存储,有经验的同学会将array() object() 转成json_encode()这个字符串,存到 memcached里边。那怎么来区分当时是存的是字符串还是array()或object()呢?这就是flag的意义。
例子:
add title 1 0 16
welcome to maizi
Stored
expire:设置缓存的有效期。它有三种方式:
1)设置它的秒数,从当前的时间算起,到第n秒失效。比如失效时间是10秒,就是从当前的时间算,过来10秒你再去get这个web的时候,它是没有的。
2)使用时间戳的方式,就是指定明天某个时候失效,这个场景主要运用于抢购,如抢购手机,希望明天的这个时候缓存失效,可以从相关网站获得时间戳信息如下。

3)将expire设置为0,设置为0后就不自动失效,有的人以为这个是一个永久数据,这种理解是错误的。这里说一种极端的方式,比如memcache挂了,再重启memcache服务,但这里面的数据就都不会存在 了。我们在编译memcache的时候,使用了一个最长的常量,默认时间为30天,所以即使你设置为0,30天以后,它的数据也会失效。还有一种情况是可能我等不到这30天,就会被新的数据挤出去,这个就 是老数据被踢的这个现象。
命令结果:
STORED #表示成功
NOT_STORED #表示失败
CLIENT_ERROR bad data chunk #输入数据有误
添加缓存:
add kk 1 0 4 #回车
1234 #回车
STORED
如果key已经存在,则会添加失败。如果数据 不是4个字节 应该会提示数据错误。
修改缓存:
replace kk 1 0 2 #回车
11 #回车
STORED
key存在时,成功;不存在时,失败。
设置缓存:
set kk 1 0 4 #回车
1234 #回车
STORED
key不存在时,添加【add】;已存在时,替换【replace】。
读取:
get kk
VALUE kk 1 4
1234
多个key时,用空格隔开。
删除:
delete kk #回车
DELETED
清空所有缓存:
flush_all
OK
查看缓存服务器状态:
stats


其他命令:
version #显示版本号
stats reset #清空统计数据
stats slabs #显示各个slab的信息,包括chunk的大小、数目、使用情况等
stats items #显示各个slab中item的数目和存储时长(最后一次访问距离现在的秒数)
退出telnet:
ctrl+]
tlenet>quit
memcache的基本操作的更多相关文章
- Python操作 Memcache、Redis、RabbitMQ
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- 数据库缓存之Memcache知识点
Memcache知识点总结: 一.Memcache安装及使用 参考地址:https://www.jb51.net/article/66525.htm 1.将下载的Memcache安装文件放到某盘下,如 ...
- PHP的Memcached简单实现
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.也可动态缓存一些实 ...
- memcache 基本操作
输入 telnet localhost 11211 步骤: 1.输入 set hans 0 0 3 回车 2. 输入 123 回车 3. get hans 回车 删除操作,输入 delete h ...
- 使用Memcache缓存mysql数据库操作的原理和缓存过程浅析
转载自脚本之家 http://www.jb51.net/article/51831.htm 作者:忙碌的松鼠 对于大型网站如facebook,ebay等网站,如果没有Memcache做为中间缓存层, ...
- memcache基础
一.Memcache是一种缓存技术(内存),你可以把它想像成一张巨大的内存表,形式如下[它就是一个服务] key value key值(字符串) 可以放(字符串[二进制数据[视频.音频.图片]],数值 ...
- memcache讲解和在.net中初使用
memcache讲解和在.net中初使用 2017年10月17日 22:51:36 等待临界 阅读数:503 前言 传统数据库面临的问题 数据库死锁 磁盘IO 正文 了解memcache 原理 基 ...
- day39 mysql数据库基本操作
什么是数据库 用来存储数据的仓库 数据库可以在硬盘及内存中存储数据 主要学习硬盘中存储数据,因为内存中的数据总有一天会丢失 数据库与文件存储数据区别 (公司的开发是综合内容的) 数据库本质也是通过文件 ...
- Python全栈-数据库介绍与基本操作
.数据库管理软件的由来 数据库的产生是为了解决数据的永久储存.数据安全.以及对方对外服务时能够实现并发服务等效果.例如解决前面所学的Scoket编程中,在不考虑硬件问题的基础上,服务端服务多个客户端时 ...
随机推荐
- Linux centos ssh
创建m01.backup.nfs.web01.web02 m01(172.16.1.61).backup(172.16.1.41).nfs(172.16.1.31).web01(172.16.1.7) ...
- python监控机器(第1版)
# coding:utf-8 import configparser import logging import os import psutil import ctypes import platf ...
- windows系统下的特殊目录导致的FileNotFoundException
环境:下面只有JDK(内含jre),没有外在的jre 读取的两个文件都是存在的,只是文件名不同 运行结果1 运行结果2 切换JDK 运行结果3: 运行结果4: 请留意:C:\windows\syste ...
- Spring Boot 2.x 编写 RESTful API (四) 使用 Mybatis
用Spring Boot编写RESTful API 学习笔记 添加依赖 <dependency> <groupId>org.mybatis.spring.boot</gr ...
- Jetson TX1 SD card启动
上网DNS /var/run/NetworkManager/resolv.conf nameserver 211.100.225.34 nameserver 219.239.26.42
- Comet OJ Contest #2
A:暴力,显然每两次至少翻一倍. #include<bits/stdc++.h> using namespace std; #define ll long long #define inf ...
- Heap Partition ZOJ - 3963(贪心)
ZOJ - 3963 贪心做一下就好了 反正别用memset #include <iostream> #include <cstdio> #include <sstrea ...
- foreach 中获取索引index的方法
一样,很少用到,记下来先 主要代码: foreach (var item in arr) { int index = arr.indexOf(item); //index 为索引值 }
- [Windows Server]Windows Server turn off screen auto-lock to fit scheduled tasks(Error Code :0x4F7) / 关闭Windows Server的自动锁定来解决计划任务0x4F7错误
1. 打开“运行”,输入“regedit” 并回车. 2. 找到以下注册表路径,将Attributes的值改为 2: (原为1 HKEY_LOCAL_MACHINE \SYSTEM \CurrentC ...
- PAT 甲级真题题解(63-120)
2019/4/3 1063 Set Similarity n个序列分别先放进集合里去重.在询问的时候,遍历A集合中每个数,判断下该数在B集合中是否存在,统计存在个数(分子),分母就是两个集合大小减去分 ...