Redis数据类型
String:二进制安全,可以包含任何数据
Hash:一个键值(key=>value)对集合
List:简单的字符串列表
Set:string类型的无序集合
Zset:每个元素都会关联一个double类型的分数,redis通过分数来为集合中的成员进行从小到大的排序
Redis基本命令
Key: set, get, delete
Hash: hmset, hget, hdel
List: lpush, lindex
Set: sadd,smembers
Zset: zadd, zrange
具体用法可查看网上教程或官方文档或命令行提示
Redis持久化
Redis运行在内存中,但它同样提供了持久化机制
AOF:记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集
RDB:生成数据集的时间点快照
手动让Redis进行数据集保存:save
打开AOF功能:修改配置文件 appendonly yes
Labwork
针对数据库第十次上机作业进行一些总结
作业要求是将以下两个json对象存入Redis
var someexpert={ id:10000 realname: ‘expert-a' organization:'BUAA' } var frameworks=[ ‘vue', ‘react', ‘angular' ]
我在储存过程中全部是以python中的list形式转化为json进行储存的
初始化
在初始化前,我们首先需要在终端开启数据库,具体方法可以参考macOS上Redis的安装与测试
首先我们需要导入redis模块
import redis # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库
直接pip安装即可
pip3 install redis
接下来就是初始化数据库了,host是redis主机使用localhost即可,需要redis服务端和客户端都启动,redis默认端口是6379
def __init__(self): self.host = 'localhost' self.port = '6379' self.r = redis.StrictRedis(host=self.host, port=self.port)
很多教程上写的是redis.Redis,然而官方是推荐使用redis.StrictRedis的
redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。
redis基本命令
增加list
lpush(name,values)
在name对应的list中添加元素,每个新的元素都添加到列表的最左边,没有就新建
检查名字是否存在
exists(name)
检测redis的name是否存在,存在返回True,否则返回False
删除
delete(*names)
根据删除redis中的任意数据类型(string、hash、list、set、有序set)
列表长度
llen(name)
返回列表的长度。如果列表name不存在,则name被解释为一个空列表,返回0。如果name不是列表类型,返回一个错误。
获取指定列表指定区间元素
lrange(name, start, end)
返回列表中指定区间内的元素。
区间以偏移量start和end指定。 其中0表示列表的第一个元素,1表示列表的第二个元素,以此类推;也可以使用负数下标,以-1表示列表的最后一个元素,-2表示列表的倒数第二个元素,以此类推。
参考代码
# -*- coding=utf-8 -*- __author__ = 'XJX' __date__ = '2018.06.09' """ description: 将json对象存入Redis """ import json import redis class RedisTT(object): def __init__(self): self.host = 'localhost' self.port = '6379' self.r = redis.StrictRedis(host=self.host, port=self.port) def insertRedis(self, keyName, jsonStr): # 存入到redis中 self.r.lpush(keyName, jsonStr) def save1(): someexpert = {} someexpert['id'] = 10000 someexpert['realname'] = 'expert-a' someexpert['organization'] = 'BUAA' if RedisTT().r.exists('someexpert'): RedisTT().r.delete('someexpert') # 删除key为someexpert的键值对 RedisTT().insertRedis(keyName='someexpert', jsonStr=json.dumps(someexpert)) def save2(): frameworks = ['vue', 'react', 'angular'] if RedisTT().r.exists('frameworks'): RedisTT().r.delete('frameworks') # 删除key为frameworks的键值对 RedisTT().insertRedis(keyName='frameworks', jsonStr=json.dumps(frameworks)) if __name__ == "__main__": save1() save2() print(RedisTT().r.lrange('someexpert', 0, RedisTT().r.llen('someexpert'))) print(RedisTT().r.lrange('frameworks', 0, RedisTT().r.llen('frameworks')))
输出结果
导出rdb
安装redis-dump
gem install redis-dump -V
redis-dump导出数据
redis-dump –u 127.0.0.1:6379 > db.rdb
导出redis 默认数据库的数据,默认数据库为0,得到的db.rdb文件位于当前目录
如果指定15数据库的数据:
redis-dump –u 127.0.0.1:6379 –d 15 > db.rdb
导出得到的文件数据:
redis-load还原数据
将db.rdb文件上传到新的redis服务器上,进入到db.rdb目录,执行命令
< db.rdb redis-load;
或者
cat db.rdb | redis-load
如果导出时指定了数据库
cat db.rdb | redis-load –d 15
以上这篇python3实现将json对象存入Redis以及数据的导入导出就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]