写在前面
最近在学习的时候发现很多东西看过,但是容易忘记。发现用博客的形式记录下来真的可以加强记忆,后续会不断更新更多技术和分享博客,希望大家提出改进意见 @_@
一.什么是memcached?
memcached是一个分布式的内存型NoSQL数据库。它所有的数据都是存储在内存中的,适合存储一些验证码(短信验证码,图片验证码)等信息。由于是纯内存型的数据库它的效率远高于其他磁盘型数据盘,具体介绍请看memcached维基百科
二.Windows安装memcached
- 32位系统 1.4.4版本:http://static.runoob.com/download/memcached-win32-1.4.4-14.zip
- 64位系统 1.4.4版本:http://static.runoob.com/download/memcached-win64-1.4.4-14.zip
- windows系统下载上面对应的系统版本进行下载解压。
- 以管理员的方式打开cmd,并安装memcached
> cmd
> cd C:\Program Files\tools\memcached # 切换到memcached的目录
> memcached.exe -d install #安装memcached
> memcached.exe -d start #启动memcached
> memcached.exe -d stop # 停止memcached
3. 验证memcached
查看memcached的服务是否已经启动
- windows 连接memcached
Windows cmd窗口下输入下面这条命令后按下enter键,即可进入memcached的命令窗口
telnet 127.0.0.1 11211 #连接memcached,默认端口是11211
三.linux安装memcached
博主Linux系统版本:CentOs 7.6
- 安装memcached
yum install -y libevent libevent-devel # 安装memcached的依赖包
yum install -y memcached #安装memcached
Complete! 即表示安装成功
- 启动memcached
linux有两种方式启动memcached
# 1.启动memcached
service memcached start
ps aux|grep memcached # 查看memcached的进程是否已启动
#2.路径启动
/usr/bin/memcached -l 0.0.0.0 -u memcached -p 11211 -m 64 -d start
- -l :表示对应的ip,这里填0.0.0.0 表示可以远程访问。只有这个启动才可以远程访问
- -u:用户名
- -m:存储在内存中的大小,相当于指定memcahed存储量,如果超过这个存储量,会将过期的内存清除
- -d:后台运行
四.连接memcached
这里主要介绍下telnet连接
telnet ip[主机ip地址,本地默认127.0.0.1] port[端口号,默认11211]
五.memcached常用的命令
memcached是以键值对的方式进行存储
set
:存储,key如果存在会覆盖之前的值
set key[键] 0[是否压缩] 120[过期时间] 5[字节长度]
hello[key对应的value值]
STORED #被存储到内存中
***这里必须存储相对应的字节长度不然会报以下的错误
CLIENT_ERROR bad data chunk
2. get
:根据key来获取值
get username # 获取对应的key
hello #获取到相应的值
END # 结束
add
:语法和set类型,但是key已经存在会报错
set username 0 120 4
jack
STORED
add username 0 120 4
jack
NOT_STORED
delete
:根据key来删除值
delete username
DELETED
flush_all
:慎用!!!
flush_all #清空memcached内存中所有的内容,数据不再被找回
OK
incr
:相加,必须相加或者相减的是整数类型,否则会报错
set age 0 120 2
18
STORED
incr age 20 #必须为整数
38
decr
:相减,同incr
decr age 18
20
stats
:查看一些有意义的参数
get hits
:get 命令命中了多少次get_misses
:get命令落空了几次curr_items
:查看当前memcached
中的键值对数total_connections
:从memcached
开始到现在总共的连接数memcached
:默认最大的连接数是1024
六.Python操作memcached
- 安装python依赖包
pip install python-memcached
# -*-coding:utf-8-*-
import memcache
# 1.连接memcached(远程断必须以绝对路径下的方式启动)
# /usr/bin/memcached -l 0.0.0.0 -u memcached -p 11211 -m 64 -d start
mc = memcache.Client(['127.0.0.1:11211'], debug=True)
mc.set('age', 18, time=120) # set添加
mc.add('username', 'jack', time=120) # add存储
mc.set_multi({"name": "jack", "age": 18, "height": 160, "weight": 120}) # 存储多个
val = mc.get("age")
print("val:{}".format(val))
mc.incr('age') # 默认增加1
mc.incr('age', 12) # 指定增加12
mc.decr('age', 12) # 指定减少12
mc.delete("age") # 删除key
版权声明:本文为Lb_fly0505原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。