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) 编辑 收藏 举报