03_redis_python操作redis

时间:2019-09-17
本文章向大家介绍03_redis_python操作redis,主要包括03_redis_python操作redis使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import redis

# 封装
class MyRedisList(object):
    """python操作redis数据的封装"""
    def __init__(self, db=0, decode=True):
        # 1. 连接
        self.conn = redis.StrictRedis(db=db, decode_responses=decode)

    def insert(self, key, values, default='l'):
        """redis数据库list数据类型的插入"""
        if default == 'l':
            # self.conn.lpush(key, *values)
            for v in values:
                self.conn.lpush(key, v)
        else:
            # self.conn.rpush(key, *values)
            for v in values:
                self.conn.rpush(key, v)

    def find(self, key, index=0, end_index=None):
        if end_index:
            return self.conn.lrange(key, index, end_index)  # 查看一定范围内的values
        else:
            return self.conn.lindex(key, index)  # 查看指定下标的value

    def update(self, key, index, new_value):
        self.conn.lset(key, index, new_value)   # 修改指定下标的value

    def delete(self, key, count=0, value=None, default='l'):
        if value:
            self.conn.lrem(key, count, value)
        elif default=='l':
            self.conn.lpop(key)     # 随机删除第一个
        elif default=='r':
            self.conn.rpop(key)    # 删除最后一个
        else:
            print('格式错误,请检查好后重试')
            exit()

if __name__ == '__main__':
    myredislist = MyRedisList(db=3)

    # 增
    # myredislist.insert('list_1', 'v1', 'v2', 'v3')    #  默认为左加
    # myredislist.insert(key='list_1', values=['v4', 'v5', 'v6'], default='r')   # 右插入,相当在最后面追加
    # myredislist.insert(key='list_1', values=['v1', 'v2', 'v4', 'v4', 'v4', 'v5'], default='r')   # 右插入,相当在最后面追加
    # myredislist.insert(key='list_1', values=['v4', 'v4', 'v5', 'v2'])

    res = myredislist.find('list_1', end_index=-1)
    print('初始数据:{}'.format(res))

    # 改
    myredislist.update(key='list_1', index=0, new_value='000000')

    res = myredislist.find('list_1', index=0, end_index=-1)
    print('把索引为0的修改为000000后:{}'.format(res))

    # 删
    myredislist.delete('list_1', 2, 'v4')
    res = myredislist.find('list_1', index=0, end_index=-1)
    print('删除2个"v4"后:{}'.format(res))

    myredislist.delete('list_1')    # 默认删除最(后)左边的一个
    print('删除第一个后:{}'.format(myredislist.find('list_1', 0, -1)))

    myredislist.delete('list_1', default='r')    # 删除头部(最右边的)一个
    print('删除最后一个后:{}'.format(myredislist.find('list_1', index=0, end_index=-1)))
import redis
# 1. 建立连接
conn = redis.StrictRedis(db=3, decode_responses=True)

#  建立连接后, 对于redis来说, 就可以直接使用redis命令了, 与redis命令会很相似

# 2. 使用命令 list
# 增
conn.rpush('list_1', 'v1', 'v2')    # 从尾部添加
conn.lpush('list_2', 'v1', 'v2')    # 从头部添加

# 查
res = conn.lrange('list_1', 0, 10)  # 查找0-10这个索引范围内的value
print(res)
res = conn.lindex('list_2', 1)    # 查找指定索引的value
print(res)

# 改
conn.lset('list_1', 1, 'new_value')     # 修改指定索引的value
#
# 删
# # res =  conn.lpop('list_1')
# # print(res)
res = conn.rpop('list_1')
print(res)

原文地址:https://www.cnblogs.com/nichengshishaonian/p/11534338.html