首页 > 编程 > Python > 正文

python操作redis方法总结

2020-02-15 21:40:07
字体:
来源:转载
供稿:网友

连接 Redis

import redisc

连接方式:redis提供了2个方法

1:StrictRedis:实现大部分官方的命令

2:Redis:是StrictRedis的子类,用于向后兼容旧版的redis。

官方推荐使用StrictRedis方法。

举例(普通连接):

import redis#decode_responses=True 自动解码r = redis.Redis(host='127.0.0.1',port=6379,password='123456',db=0,decode_responses=True) #默认数据库为0r = redis.StrictRedis(host='10.10.2.14',port=6379,password='123456',decode_responses=True)连接池:connection pool

管理对一个redis server的所有连接,避免每次建立,释放连接的开销。默认,每个redis实例都会维护一个自己的连接池,可以直接建立一个连接池,作为参数传给redis,这样可以实现多个redis实例共享一个连接池。

举例(连接池):

pool = redis.ConnectionPool(host='127.0.0.1',port=6379,password='123456',decode_responses=True)r = redis.Redis(connection_pool=pool)

一 STRING 字符串的操作

1. r.set 设置值

#在Redis中设置值,默认不存在则创建,存在则修改r.set('name', 'zhangsan')'''参数:  set(name, value, ex=None, px=None, nx=False, xx=False)  ex,过期时间(秒)  px,过期时间(毫秒)  nx,如果设置为True,则只有name不存在时,当前set操作才执行,同setnx(name, value)  xx,如果设置为True,则只有name存在时,当前set操作才执行'''
r.get('name')

3. mset 批量设置值

#批量设置值r.mset(name1='zhangsan', name2='lisi')#或r.mget({"name1":'zhangsan', "name2":'lisi'})

4. mget(keys, *args) 批量获取

#批量获取print(r.mget("name1","name2"))#或li=["name1","name2"]print(r.mget(li))

5. getset 设置新值,打印原值

#设置新值,打印原值getset(name, value) print(r.getset("name1","wangwu")) #输出:zhangsanprint(r.get("name1")) #输出:wangwu

6. getrange 根据字节获取子序列

#根据字节获取子序列getrange(key, start, end) r.set("name","zhangsan")print(r.getrange("name",0,3))#输出:zhan

7. setrange 修改字符串内容,从指定字符串索引开始向后替换,如果新值太长时,则向后添加

#修改字符串内容,从指定字符串索引开始向后替换,如果新值太长时,则向后添加setrange(name, offset, value) r.set("name","zhangsan")r.setrange("name",1,"z")print(r.get("name")) #输出:zzangsanr.setrange("name",6,"zzzzzzz")print(r.get("name")) #输出:zzangszzzzzzz

8. strlen(name) 返回name对应值的字节长度

#返回name对应值的字节长度(一个汉字3个字节)r.set("name","zhangsan")print(r.strlen("name")) #输出:8            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表