python写入redis
DataError: Invalid input of type: ‘dict’. Convert to a bytes, string, int or float first.
DataError: Invalid input of type: ‘dict’. Convert to a bytes, string, int or float first.
Invalid input of type: ‘list’. Convert to a bytes, string, int or float first.
unhashable type: ‘dict’
redis 存dict 方案1
set -> str(v)
get -> eval(v)
方案2
set -> json.dumps(v)
get -> json.loads(v)
keys or scan
scani游标迭代器
对scan的解释,参照
scan 0 match user* count 10000(默认10)
返回一个下次开始行数(游标),和数据key的集合,返回的游标有点类似使用分页的offset概念
持久化
修改redis配置文件,开启RDB
rdbchecksum yes
dbfilename dump.rdb
save 900 1 # 900秒内有至少1个键被更改则进行快照
save 300 10 # 300秒内有至少10个键被更改则进行快照
save 60 10000 # 60秒内有至少10000个键被更改则进行快照
dir ./ 持久化存储位置
rdbcompression yes 默认开启数据压缩
保存重启redis
也可以通过手动异步执行持久化操作
$ bgsave
config get ‘notify-keyspace-events’
查询是否开启
>config get 'notify-keyspace-events'
1) "notify-keyspace-events"
2) "xE"