Python学习_21 Python操作memcached


Python学习_21 Python操作memcached
1、redis复习
a、字符串操作
get(key)      获取key对应的value值
set(key, value)     设置值,不存在新建,存在修改
mget(k1, k2, k3, k4)      批量获取key的值,()为tuple类型
mset(k1=v1, k2=v2)     批量设置值,()为dict类型
b、list的操作
lpush(name, value)    左边添加
rpush(name, value)    右边添加
linsert(name, where, refvalue, value)    插入
lpop(name)    左边删除
lrange(name, start, end)    通过分片取list中的值
lset(name, index, value)    修改list中的某个值
lrem(name, value, num)   删除指定的值     num默认为0, 删除所有,num=2 从左往右删除2个元素,num=-1从右往左删除两个元素
c、set操作
sadd(name, values)     增加
scard(name)     获取
spop(name) s.srem(name, value)     删除
sunion(keys)      例如:suniion("a", "b", "c")     并集
sinter(key)     交集
d、hash
hgetall(name)    获取key的详细内容
hset(name, key, value)    设置单个元素
hmset(name, {"key": "value"})    设置多个元素
hget(name, key)    获取单个元素
hmget(name, keys)    获取多个元素
hkeys(name)    获取多有的key
hvals(name)    获取多有的value
hexists(name, key)    判断key是否存在
hdel(name, keys)    删除key
hlen(name)    获取长度
e、其他常用的操作,适用于所有类型
keys()   查看所有的key
delete(names)   删除keys
exists(name)   判断是否存在
rename(src, dst)  新替旧
expire(name, time)  设置超时时间
type(name)    查看name属于哪种redis数据类型
move(name, db)  把name从原理的db移动到db库下面
flushall()     删除所有key
2、memcached简介
memcached是一个开源的,高性能,分布式内存对象缓存系统; Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 本质上,它是一个简洁的key-value存储系统。
3、安装memcached
解压:tar -zxvf memcached-1.5.7.tar.gz
安装:
cd memcached-1.5.7
./configure
make
make install
启动:
memcached -d -m 10 -u root -l 127.0.0.1 -p 12000 -c 256 -P /usr/local/memcached/logs/memcached.pid
参数说明;
-p 指定端口号(默认11211)  
-m 指定最大使用内存大小(默认64MB)  
-t 线程数(默认4)  
-l 连接的IP地址, 默认是本机  
-d 以后台守护进程的方式启动
-c 最大同时连接数,默认是1024
-P 制定memecache的pid文件
-h  打印帮助信息
4、python-memcached
需单独安装python-memcached模块:pip install python-memcached
python-memcachd模块原生支持集群操作,其原理是在内存维护一个主机列表,且集群中主机的权重值和主机在列表中重复出现的次数成正比。
主机      权重
1.1.1.1   1
1.1.1.2   2
1.1.1.3   1
那么在内存中主机列表为:
host_list=['1.1.1.1','1.1.1.2','1.1.1.2','1.1.1.3']
如果是集群,则:
mc = memcache.Client([('1.1.1.1:12000', 1), ('1.1.1.2:12000', 2), ('1.1.1.3:12000', 1)], debug=True)
mc.set('k1', 'v1')
5、memcached常用操作
set(key, value)     设置值,key不存在则创建,如果存在则修改
set_multi({"k1": "v1", "k2": "v2"})    设置多个值,key不存在则创建,如果存在则修改
get(key)     获取value
get_multi([k1, k2, k3])    获取多个key对应的value
repalce(key, new_value)     修改key的值,如果key不存在则报异常
备注:set = add + replace()
delete(key)     删除
delete_multi([k1, k2, k3])     批量删除
append(k, appendvalue)     修改制定key的值,在该值后面追加内容
prepend(k, prependvalue)     修改制定key的值,在该值前面插入内容


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值