目录
起步
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""其他操作
"""
import redis
pool = redis.ConnectionPool(host='192.168.1.104', password='hardy9sap', decode_responses=True)
rs = redis.Redis(connection_pool=pool)
is_connected = rs.ping()
ping
ping(),测试连接时候正常
示例
rsp = rs.ping()
print(rsp)
echo
echo(value),输出一个消息
示例
rsp = rs.echo(value='Hello')
print(rsp)
dbsize
dbsize(),查看当前数据库有多少key
示例
rsp = rs.dbsize()
print(rsp)
keys
keys <pattern>,返回指定模式的key
pattern:
* ,代表任意个字符
? ,代表一个字符
[],字符集合
示例:
rsp = rs.keys(pattern='*')
print(rsp, len(rsp))
scan_iter
# scan_iter
# 生成器
rsp = rs.scan_iter()
print(rsp)
time
time(),时间戳,返回元组,[1]表示逝去的毫秒数
示例
# (1576294608, 613308)
rsp = rs.time()
print(rsp, rsp[0].__class__)
lastsave
lastsave(),上一次保存的时间戳
示例
rsp = rs.lastsave()
print(rsp, rsp.__class__) # 2019-12-14 11:30:43,datetime
save
save(),同步保存数据
示例
rs.save()
bgsave
bgsave(),异步保存数据
示例
rs.bgsave()
shutdown
shutdown(save=False, nosave=False),关闭服务
示例
rs.shutdown(save=False, nosave=False)
config_get / config_set
config_get(pattern='*')
示例
rsp = rs.config_get(pattern='*')
config_set(name, value)
示例
rs.config_set(name='requirepass', value='newpwd')
move
move(name, db),
把当前库中的key移动到指定的数据库,返回True,
如果key在数据库存在,返回False,并且不移动;
示例
rsp = rs.move(name='set1', db=1)
print(rsp)
flushall
flushall(asynchronous=False),删除所有数据库所有的key
选项 asynchronous 表示异步执行删除操作(也就是在后台执行)
示例
rs.flushall(asynchronous=False)
flushdb
flushdb(asynchronous=False),删除当前数据库中的所有key
选项 asynchronous 表示异步执行删除操作(也就是在后台执行)
示例
rs.flushdb(asynchronous=False)
dump
dump(name),序列化key
示例
rsp = rs.dump(name='set1')
print(rsp)
type
type(name),查看key的类型
示例
rsp = rs.type(name='set1')
print(rsp)
rename
rename(src, dst),给src改名,如果dst存在,则直接覆盖
示例
rsp = rs.rename(src='set1', dst='set11')
print(rsp)
renamenx
renamenx(src, dst),当key不存在时改名,并且返回True,否则返回False,不改名
示例
rsp = rs.renamenx(src='set11', dst='set2')
print(rsp)
delete
delete(*names),删除存在的key,并返回成功删除个数
示例
rsp = rs.delete(*('set1', 'set2', 'set3'))
print(rsp)
exists
exists(*names),检查key是否存在,并返回存在的key的个数
示例
rsp = rs.exists(*('set1', 'set2', 'set3'))
print(rsp)
expire
expire(name, time),给key设置过期时间(秒),默认永久(-1)
成功返回1,当key不存在或者不能设置时,返回0
示例
rsp = rs.expire(name='hashmore', time=10)
print(rsp)
expireat
expireat(name, when),unix时间戳
pexpire
pexpire(name, time),毫秒
pexpireat
pexpireat(name, when),unix时间戳
ttl
ttl(name), 查看key的剩余时间(秒)(time to live)
-1 永久
当key不存在或者过期,返回 - 2
示例
rsp = rs.ttl(name='hashmore')
print(rsp)
pttl
pttl(name),毫秒
persist
persist(name),移除key的过期时间
当过期时间移除成功时,返回True。
如果 key 不存在或 key 没有设置过期时间,返回 False 。
示例
rsp = rs.persist(name='hashmore')
print(rsp)
pfadd
pfadd(name, *values),添加一个或多个基数,有一个被添加就返回True,没有就返回False,不重复
示例
rsp = rs.pfadd('redis:method:pfadd', *('value1', 'value1', 'value2'))
print(rsp)
pfcount
pfcount(*sources),返回key中基数的个数,如果是多个key,则累加返回
pfmerge
pfmerge(dest, *sources),合并,成功返回True
整体代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""其他操作
"""
import redis
pool = redis.ConnectionPool(host='192.168.1.104', password='hardy9sap', decode_responses=True)
rs = redis.Redis(connection_pool=pool)
is_connected = rs.ping()
if is_connected:
# ping
# 测试连接时候正常
rsp = rs.ping()
print(rsp)
# echo
# 输出一个消息
rsp = rs.echo(value='Hello')
print(rsp)
# dbsize
# 查看当前数据库有多少key
rsp = rs.dbsize()
print(rsp)
# keys * | ? | []
# 返回指定模式的key
rsp = rs.keys(pattern='*')
print(rsp, len(rsp))
# scan_iter
# 生成器
rsp = rs.scan_iter()
print(rsp)
# time
# 时间戳
# [1]表示逝去的毫秒数
# (1576294608, 613308)
# rsp = rs.time()
# print(rsp, rsp[0].__class__)
# lastsave
# 上一次保存的时间戳
# rsp = rs.lastsave()
# print(rsp, rsp.__class__) # 2019-12-14 11:30:43
# save
# 同步保存数据
# rs.save()
# bgsave()
# 异步保存数据
# rs.bgsave()
# shutdown
# 关闭服务
# rs.shutdown(save=False, nosave=False)
# config get / set
# rsp = rs.config_get(pattern='*')
# print(rsp)
# rs.config_set(name=, value=)
# move
# 把当前库中的key移动到指定的数据库,返回True,
# 如果key在数据库存在,返回False,并且不移动;
rsp = rs.move(name='set1', db=1)
print(rsp)
# flushall
# 删除所有数据库所有的key,
# 选项 asynchronous 表示异步执行删除操作(也就是在后台执行)
# rs.flushall(asynchronous=False)
# flushdb
# 删除当前数据库中的所有key,
# 选项asynchronous表示异步执行删除操作(也就是在后台执行)
# rs.flushdb(asynchronous=False)
# dump
# rsp = rs.dump(name='set1')
# print(rsp)
# type
# rsp = rs.type(name='set1')
# print(rsp)
# rename
# rsp = rs.rename(src='set1', dst='set11')
# print(rsp)
# renamenx
# rsp = rs.renamenx(src='set11', dst='set2')
# print(rsp)
# del
# rsp = rs.delete(*('set1', 'set2', 'set3'))
# print(rsp)
# exists
# rsp = rs.exists(*('set1', 'set2', 'set3'))
# print(rsp)
# 设置过期
# expire 秒
rsp = rs.expire(name='hashmore', time=10)
print(rsp)
# expireat unix时间戳
# rsp = rs.expireat(name=, when=)
# pexpire 毫秒
# rsp = rs.pexpire(name=, time=)
# pexpireat unix时间戳
# rsp = rs.pexpireat(name=, when=)
# ttl
# 查看key的剩余时间(秒)(time to live)
# -1 永久
# 当key不存在或者过期,返回 - 2
# rsp = rs.ttl(name='hashmore')
# print(rsp)
# pttl
# 毫秒
# rsp = rs.pttl(name='hashmore')
# persist
# 移除key的过期时间
# 当过期时间移除成功时,返回True。
# 如果 key 不存在或 key 没有设置过期时间,返回 False 。
# rsp = rs.persist(name='hashmore')
# print(rsp)
# pfadd
# 添加一个或多个基数,有一个被添加就返回True,没有就返回False,不重复
# rsp = rs.pfadd('redis:method:pfadd', *('value1', 'value1', 'value2'))
# print(rsp)
# pfcount
# 返回key中基数的个数,如果是多个key,则累加返回
# rs.pfcount(*sources)
# pfmerge
# 合并,成功返回True
# rs.pfmerge(dest, *sources)