python操作redis取出list_Python操作Redis大全

命令太多记不住可以参考Redis中文网,强烈建议收藏

一、字符串 strings

Python操作Redis的redis模块对字符串(string)的主要操作函数包括:SET、GET、GETSET、SETEX、SETNX、MSET、MSETNX、INCR(INCRBY,DECR,DECRBY在python中庸同一个函数incr实现)、APPEND、SETRANGE、STRLEN。函数说明如下:

SET: 为指定的键(key)设置值(value), set(self, name, value, **kwargs)。

GET:获取指定键(key)绑定的值(value),get(self, name)。

GETSET:为指定的键(key)设置新的值(value),并返回旧的值(old Value),getset(self, name, value)

SETEX:为指定的键(key)设置过期以秒(second)计的过期时间,setex(self, name, value, time)

SETNX:键(key)不存在时,为键(key)指定值(value),setnx(self, name, value)

MSET:一次性设置多个键-值(key-value)对,函数设置的键-值对(即mapping所指内容)数据要以Python字典数据类型传入,mset(self, mapping)

MSETNX:键-值(key-value)对不存在时,设置键-值(key-value)对,msetnx(self, mapping),mapping值参考6

INCR:自增函数,默认步长为1,通过对步长(amount)大小以及字符的控制实现了INCRBY(amount>=1)、DECR(amount=-1)、DECRBY(amount<=-1)等函数功能,incr(self, name, amount=1)

APPEND:为指定的字符串追加值,若不存在则直接创建,append(self, key, value)

SETRANGE:用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始,setrange(self, name, offset, value)

STRLEN:返回字符串的长度,当name不存在时返回0,strlen(self, name)

示例代码如下:

#!/usr/bin/python

# -*- coding:utf-8 -*-

# __author__ = 'Jack'

pool = redis.ConnectionPool(host='127.0.0.1', port=6379)

r = redis.Redis(connection_pool=pool)

r.flushall() # 清空Redis

r.setex('name', value='liaogx', time=2) # 设置新值,过期时间为3s

r.mset(k1 = 'v1', k2 = 'v2', k3 = 'v3') # 批量设置新值

print(r.mget('k1', 'k2', 'k3', 'k4')) # 批量获取新值

print(r.getset('name', 'liaogaoxiang')) # 设置新值并获取原来的值

print(r.getrange('name', 0, 1)) # 获取子序列 0 <= x <= 1

r.setrange('name', 0, 'LIAO') # 修改字符串内容,从指定字符串索引开始向后替换(新值太长时,则向后添加),返回值的长度

i = 0

while i < 4:

print(r.get('name'))

time.sleep(1)

i += 1

source = 'foo'

r.set('n1', source)

r.setbit('n1', 7, 1)

'''

注:如果在Redis中有一个对应: n1 = "foo",

那么字符串foo的二进制表示为:01100110 01101111 01101111

所以,如果执行 setbit('n1', 7, 1),则就会将第7位设置为1,

那么最终二进制则变成 01100111 01101111 01101111,即:"goo"

'''

print(r.get('n1'))

print(r.getbit('n1', 7)) # 获取n1对应的值的二进制表示中的某位的值 (0或1)

r.set('n2', '廖高祥')

print(r.strlen('n2')) # 返回对应的字节长度(一个汉字3个字节)

r.set('num', 1)

r.incr('num', amount=10)

r.decr('num', amount=1)

print(r.get('num')) # 自增num对应的值,当name不存在时,则创建name=amount,否则,则自增。

r.append('num', 111)

print(r.get('num')) # 在redis num对应的值后面追加内容

输出结果如下:

[b'v1', b'v2', b'v3', None]

b'liaogx'

b'li'

b&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值