2018年5月17日笔记

  • python操作redis

set操作

sadd(name, values)  增加

scard(name)    获取

spop(name)    删除并返回set中的一个随机元素

srem(name, value)  删除set中的一个指定元素

sunion(keys)    返回指定集合的并集

sinter(keys)    返回指定集合的交集

 

hash操作

 

hset(name, key, value)  设置单个元素

hmset(name, {"k1": "v1", "k2": "v2"}  设置多个元素

hget(name, key)  获取单个元素

hmget(name, keys)  获取多个元素

hkeys(name)  获取name对应的所有key

hvalues(name)  获取name对应的所有value

hgetall(name)  返回指定name对应的keys和values (返回值长度是哈希表大小的2倍)

hexists(name, key)  判断key是否存在

hdel(name, keys)  删除key

hlen(name)  获取长度(name中key的个数)

 

!!!重点掌握 string 和 hash 的操作 !!!

 

适用于所有类型(string/ list/ set/ zset/ hash)的常用操作

r.keys()  查看所有key

r.delete(names)  删除keys

r.exists(name)  判断是否存在

r.rename(src, dst)  替换key

r.expire(name, time)  设置超时时间,超时后会删除对应的key

r.type(name)  查看属于哪种redis数据类型

r.move(name, db)  将name从原来db移动至指定db下

r.flushall()  删除所有

 

 

  • 安装memcached

cd /usr/local/src

wget http://memcached.org/latest

tar -zxvf memcached-1.x.x.tar.gz

cd memcached-1.x.x

./configure && make && make test && make install

 

客户端

pip install python-memcached

 

启动memcached

memcached -d -m 10 -u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid

参数说明

参数描述
-d 是启动一个守护进程
-m 是分配给Memcache使用的内存数量,单位是MB
-u 是运行Memcache的用户
-l 是监听的服务器IP地址
-p 是设置Memcache监听的端口,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件

 

 

  • memcached天生支持集群

python-memcached模块原生支持集群操作,其原理是在内存维护一个主机列表,且集群中主机的权重值和主机在列表中出现的次数成正比

主机    权重

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"]

 

 

  • python操作memcached

set(key, value)

get(key)

replace(key, new_key)

set = add + replace

delete(key)

get_multi([k1, k2, k3])

append(k, appendvalue)

prepend(k, prependvalue)

stats

 

posted on 2018-05-18 23:31  Karlkiller  阅读(111)  评论(0编辑  收藏  举报

导航