python operates list in redis

list operation

The List in redis is stored in memory according to a name corresponding to a List

method:

lpush(name,values)
        # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边


rpush() 
       # 在name对应的list中添加元素,每个新的元素都添加到列表的最左边

lpushx(name,value)
        #在name对应的list中添加元素,只有name已经存在时,值添加到列表的最左边

rpushx(name,value)
        #在name对应的list中添加元素,只有name已经存在时,值添加到列表的最右边

llen(name)
        # name对应的list元素的个数

linsert(name,where,refvalue,value):
        #在name对应的列表的某一个值前后插入一个新值
                #参数:
                     # name,redis的name
                     # where,BEFORE或AFTER
                     # refvalue,标杆值,即:在它前后插入数据
                     # value,要插入的数据

r.lset(name,index,value):
         #对name对应的list中的某一个索引位置重新赋值。
               # 参数:
                     # name,redis的name
                     # index,list的索引位置
                     # value,要设置的值

r.lrem(name,value,num):
        #在name对应的list中删除指定的值
                # 参数:
                    # name,redis的name
                    # value,要删除的值
                    # num,  num=0,删除列表中所有的指定值;
                           # num=2,从前到后,删除2个;
                           # num=-2,从后向前,删除2

lpop(name):
        #在name对应的列表的左侧获取第一个元素并在列表中移除,返回值删除那个元素的值
        #扩展: rpop(name) 表示从右向左操作

lindex(name,index):
        #在name对应的列表中根据索引取列表元素

lrange(name,start,end):
        #在name对应的列表分片获取数据
# -*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import datetime
import redis

redis_info = {
    'host': '127.0.0.1',
    'port': 6379
}

def conncet_redis():
    pool = redis.ConnectionPool(**redis_info)
    try:
        r = redis.Redis(connection_pool=pool)
    except Exception as err:
        raise err
    return r

r = conncet_redis()
# list inserts elements left and right

r.lpush("info",'lijunjiang')
r.lpush ('info', 'li')
r.rpush('info','junjiang')
print(r.lrange('info',0,-1))
# ['li', 'lijunjiang', 'junjiang']

# Insert an element before/after an element

r.linsert('info','BEFORE','li','f_name')
print(r.lrange('info',0,-1))
# ['f_name', 'li', 'lijunjiang', 'junjiang']

r.linsert('info', 'AFTER', 'lijunjiang','f_name')
print(r.lrange('info',0,-1))
# ['f_name', 'li', 'lijunjiang', 'f_name', 'junjiang']

# 更改某个元素的值
r.lset('info',2,'myname-lijunjiang')
print(r.lrange('info',0,-1))
# ['f_name', 'li', 'myname-lijunjiang', 'f_name', 'junjiang']

#查看某个下标的值
print(r.lindex('info',2))
# myname-lijunjiang

# 从最左边删除一个元素,并返回一个元素的值
print(r.lpop('info'))
# f_name
print(r.lrange('info',0,-1))
# ['li', 'myname-lijunjiang', 'f_name', 'junjiang']

# 在列表中增加指定的值
r.lpush('info',1,2,2,3,3,3)
r.rpush('info',1,2,2,3,3,3)
print(r.lrange('info',0,-1))
# ['3', '3', '3', '2', '2', '1', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '1', '2', '2', '3', '3', '3']
r.lrem('info',1)
print(r.lrange('info',0,-1))
# ['3', '3', '3', '2', '2', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '2', '2', '3', '3', '3']
r.lrem('info', 3, 2)
print(r.lrange('info',0,-1))
# ['3', '2', '2', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '2', '2', '3', '3', '3']
r.lrem('info', 3, -2)
print(r.lrange('info',0,-1))
# ['3', '2', '2', 'li', 'myname-lijunjiang', 'f_name', 'junjiang', '2', '2', '3']



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325985332&siteId=291194637