Python3中redis模块学习之公共命令使用

起步

#!/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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值