概述
一、python程序操作Redis
注意:
1、首先连接上第三方库:redis,redis中所有命令在程序中都是方法函数
2、所有未解码输出的都是
字节码(如: b'10')
import redis
def main():
client = redis.Redis( host='', port= '' , password= '' )
client.set('username', 'hellokitty' , ex = 300)
#ex 存活时间300s,过后这个键自动消失
# redis中的命令在程序中就是方法,如set()
print( client.ttl('username' )
#
ttl查看这个键还剩多少存活时间
print(client.get('username')
# 返回值是 b'hellokitty'
这是字节串( bytes,,,str--叫字符串)
print(client.get('username').decode() )
# 对字节串解码即得字符串
#返回 hellokitty
client.set(' pickname' , ' 起飞非')
print(client.get('pickname')
# 返回非中文--ex.em.ex
print(client.get('pickname').decode())
#解码后返回中文-- 起飞非
# decode() 默认的编码方式是
tuf-8 ,即 decode( 'utf-8')
#哈希码 应用
client.hset('stu1', 'id', '1001')
client.hset('stu1', 'name','wangdachui')
print(client.hgetall('stu1').decode() )
print(client.hget(;stu1', 'name').decode())
#列表
client.push('list1', 10,20,30,40)
print(client.lrange('list1', 0, -1))
# 返回值是字节码
if __name__ == '__main__':
main()
二、python操作redis–问题及解决方案
1、问题: denied redis is running in protected mode because mode
is enabled ,no bind adress was 。
(拒绝操作,没有绑定。。。)
解决:
先shutdown/quit 关闭服务器
(~ps -ef| grep redis-server 查看是否关闭
~ iconfig eth0
查看自己的内网服务器 ip
(后续用到))
然后重启服务器
~ redis-server
--bind 内网ip(将服务器绑定在内网上) --requirepass 123456
--port 6397 (改端口) >redis.log &
然后运行
三 、redis修复持久化的工具
异常一:
启动redis服务器时启动不了,rdb文件 出错,
我们平时启动服务器后关闭服务器时 或者每隔一段时间,redis系统会(默认)自动把
内存中的数据保存硬盘上,
我们redis 中保存数据的文件--dump.rdb(二进制形式),如果这个这个文件坏了,下
一次启动服务器时 ,无法恢复数据至内存,导致无法启动呢服务器;
解决方法:
1、删除已坏文件
dump.rdb,然后再启动服务器;
2、redis中的命令
① .rdb 型
检查和修复文件
~redis-check-rdb
-- fix dump.rdb
②aof型(这种方式来源于-没有dump.rdb文件存储数据,而是有个 appendonly.aof 文件记录你之前执行过
的所有命令,下次启动服务器时通过执行只写所有记录的命令间接恢复数据)
创建appendonly.aof 文件(--开启aof保存数据的方式 )的方法:
~redis-server
--requirepass 123456 --appendonly yes > redis.log &
aof文件损坏修复:
~redis-check-aof
--fix appendonly.aof
异常二:
deny connection :服务器拒绝连接
防火墙白名单或者阿里 封ip
最后
以上就是传统皮皮虾为你收集整理的06-25 python操作Redis+Redis数据存储(rdb+aof)的全部内容,希望文章能够帮你解决06-25 python操作Redis+Redis数据存储(rdb+aof)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复