标题:memcache的使用 | 作者: catfish | 时间:2019年12月23日
暂无法显示图片

什么是memcache?

Memcached是一个高性能的分布式的内存对象系统,全世界有不少公司采用这个缓存项目来构建大负载的网站,来分担数据库的压力。Memcached是通过在内存里维护一个统一的巨大的hash表,memcached能存储各种各样的数据。包括图像,视频文件,以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大 提高读取速度。

哪些情况下适合使用Memcached?存储验证码,登录session等所有不是至关重要的数据。

安装和启用memcached

linux下的安装

$ sudo apt-get install memcache

window下的安装

详情请见:https://www.runoob.com/memcached/window-install-memcached.html。下载1.44版本。

memcached.ext -d install

linux下启动和停止

service memcache start

默认服务在端口11211。本机可直接连接使用。

$ service memcache stop

window下启动和停止

memcached.ext -d start
memcached.ext -d stop

用telnet操作memcache

先与服务器进行连接:

telnet 127.0.0.1 11211

常用的命令

1.'set':在'memcached'中添加一个'key->value',如果这个'key'之前是已经存在过。那么就会替换,否则就是添加,基本语法如下:

> set username[key] 0[是否压缩] 60[过期时间] 7[字符串长度]
> zhiliao
> STORED

2.'get': 从'memcached'中获取一个数据,根据'key'来获取。

> get username

3.'add' : 给'memcached'添加键值对。如果重复添加,就失败。

> add username 0 60 7
> zhiliao
> STORED or NOT_STORED

4.'delete'删掉一个键值对

> delete username[key]

5. 'flush all'删掉所有的键值对

> flush_all
> OK

6. 'incr' 对key的值加一个值, 'decr'减去一个值

> incr age[key] 0 2
> 20
> END or CLIENT_ERROR

7. stats 查看'memcached'的状态

> stats

一些有意义的参数如下:
    * 'get_hists': get命令命中的多少次。
    * 'get_misses':get命令空了多少次
    * 'curr_items' 当前'memcached'中的键值对数
    * 'total_connections': 从'memcache'开启到现在总共的连接数
    * 'curr_connections' : 当前'memcache'的连接数
    * 'memcached'默认最大连接数是1024

在python中使用memcache

安装

$ sudo pip3 install python-mecached

使用

>>> import memcache
>>> mc = memcache.Client(['127.0.0.1:11211'], debug=True)         # 实例化对象
>>> mc.set('username','zhiliao', time=60)                 # 设置
True
>>> mc.get('username')         # 根据键返回值
'zhiliao'
>>> mc.stats                   # 返回一个状态
{'set': 1, 'get': 1}
>>> mc.set_multi({'title':'adfs', 'age': 3}, time=120)  # 设置多个值传一个字典。
[]
>>> mc.delete('title')     # 删除
1
>>> mc.incr('age')     # 自增
4
>>> mc.decr('age')    # 自减
3

在django中使用memcached

详情请参考:https://www.catfish1921.com/article/8/

我要评论

没有登录?请先登录后再评论

最新评论

暂无人评论,来抢个沙发吧!