# coding:utf8
# 导入模块
import redis
# 连接redis库
# r = redis.Redis(host='192.168.10.128',port=6379,db=0) # 主要是为了向后兼容
r = redis.StrictRedis(host='192.168.10.128',port=6379,db=0) # 官方推荐使用
# 字符串操作
# result = r.set('name','hahahahah') # 设置指定 key 的值,如果指定的键存在,set操作是会覆盖原键
# result = r.mset(name=11,age=22,sex=333) # 同时设置一个或多个 key-value 对,如果指定的键已存在,同上
# result = r.append('name','hehehehhe') # 如果 key已经存在并且是一个字符串,value 追加到 key 原来的值的末尾
# result = r.get('name') # 获取指定 key 的值
# result = r.mget('name','age','sex') # 获取所有(一个或多个)给定 key 的值
# ------------------------------------------------------------------------
# Hash的操作
# result = r.hset('diannao','nihao','hi') # 将哈希表key中的字段field的值设为value,如果指定的键存在,set会追加,
# 如果filed存在,会重新赋值
# result = r.hmset('diannao',{'dell':1200,'lenovo':200}) # 同时将多个field-value对设置到哈希表key中,如果
# key或filed存在,同上
# result = r.hget('diannao','dell') # 获取哈希表中指定字段的值
# result = r.hmget('diannao','dell','lenovo') # 获取所有给定字段的值
# result = r.hgetall('diannao') # 获取在哈希表中指定key的所有字段和值
# result = r.hdel('diannao','dell','lenovo') # 删除一个或多个哈希表字段
# --------------------------------------------------------------------------
# 列表的操作
# result = r.lpush('kongtiao',1200,1300,1400) # 将一个或多个值插入到列表头部(左插入)如果key存在,则是追加
# result = r.rpush('kongtiao',1100,1000) # (右)
# result = r.lpop('kongtiao') # 移出并获取列表的第一个元素(左弹出)
# result = r.rpop('kongtiao') # 右
# result = r.blpop('kongtiao',10) # 移出并获取列表的左第一个元素,如果列表没有元素会阻塞列表直到
# 等待超时或发现可弹出元素为止。
# result = r.brpop('kongtiao',10) # 右
# result = r.lrange('kongtiao',0,10) # 获取列表指定范围内的元素
# result = r.lindex('kongtiao',1) # 通过索引获取列表中的元素
# ---------------------------------------------------------------------------
# 集合的操作
# result = r.sadd('numbers',1,2,3,4,5,6,7,8,9,1,2,3) # 向集合添加一个或多个成员,如果指定的键存在,sadd是追加不是覆盖
# result = r.spop('numbers') # 移除并返回集合中的一个随机元素
# result = r.smembers('numbers') #返回集合中的所有成员
# print(result)