# _*_coding:utf-8_*_
import redis
class TestBase(object):
"""
定义初始化连接,作为基类,供其他包装类使用
"""
def __init__(self):
self.r = redis.StrictRedis(host='localhost', port=6379, db=0)
class TestString(TestBase):
def test_set(self, key, value):
"""
用set 方法保存键值
:param key:
:param value:
:return:
"""
rest = self.r.set(key, value)
return rest
def test_get(self, key):
"""
用get 方法取值
:param key:
:return:
"""
rest = self.r.get(key)
return rest
def test_mset(self, dict1):
"""
用mset 方法保存键值
:param dict:
:return:
"""
rest = self.r.mset(dict1)
return rest
def test_mget(self, lst):
"""
用mget 方法取值
:param lst:
:return:
"""
rest = self.r.mget(lst)
return rest
def test_del(self, key):
"""
用delete 方法删除key
:param key:
:return:
"""
rest = self.r.delete(key)
return rest
class TestList(TestBase):
"""
lpush/rpush 从左/右插入数据
lrange 获取指定长度的数据
ltrim 截取-定长度的数据
lpop/rpop 移除最左/右的元素并返回
lpushx/rpushx key存在的时候才插入数据,不存在时不做任何操作
"""
def test_push(self, key, lst):
"""
lpush/rpush 从左/右插入数据
:param key:
:param lst:
:return:
"""
rest = self.r.lpush(key, *lst)
return rest
def test_range(self, key, start, end):
"""
lpush/rpush 从左/右插入数据
:param key:
:param lst:
:return:
"""
rest = self.r.lrange(key, start, end)
return rest
def test_pop(self, key):
"""
:param key:
:return:
"""
rest = self.r.lpop(key)
return rest
class TestSet(TestBase):
"""
sadd/srem 添加/删除元素
sismember 判断是否为set的一个元素
sdiff 返回一个集合与其他集合的差异
sinter 返回几个集合的交集
sunion 返回几个集合的并集
"""
def test_sadd(self, key, lst):
"""
:param key:
:param lst:
:return:
"""
rest = self.r.sadd(key, *lst)
return rest
def test_srem(self, key, value):
"""
:param key:
:param value:
:return:
"""
rest = self.r.srem(key, value)
return rest
def test_srem(self, key, value):
"""
:param key:
:param value:
:return:
"""
rest = self.r.srem(key, value)
return rest
def test_sinter(self, *args):
"""
sinter 返回几个集合的交集
:param args:
:return:
"""
rest = self.r.sinter(args)
return rest
if __name__ == "__main__":
str_obj = TestBase()
lst_obj = TestList()
set_obj = TestSet()
# print(str_obj.test_set('user2', 'angle'))
# print(str_obj.test_get('user1'))
dict1 = {
'user4': 'sam',
'user5': 'tom',
'user6': 'lucy'
}
lst = ['user1', 'user4', 'user5']
# print(str_obj.test_mset(dict1))
# print(str_obj.test_mget(lst))
# print(str_obj.test_del('user1'))
# print(lst_obj.test_push('student', lst))
# print(lst_obj.test_range('student', 0, -1))
# print(lst_obj.test_pop('student'))
lst1 = ['Dog', 'Cat', 'Bee']
lst2 = ['Dog', 'Cat']
lst3 = ['Cat']
# print(set_obj.test_sadd('zoo1', lst1))
# print(set_obj.test_sadd('zoo2', lst2))
# print(set_obj.test_sadd('zoo3', lst3))
# print(set_obj.test_srem('zoo1', 'Bee'))
print(set_obj.test_sinter('zoo1', 'zoo2', 'zoo3'))