最近在写脚本的时候需要将大量数据处理后存到Redis中,在此学习与总结。
关于Redis
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序。
Redis有三个主要特点,使它优越于其它键值数据存储系统 。
Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。
与其它键值数据存储相比,Redis有一组相对丰富的数据类型。- Redis可以将数据复制到任意数量的从机中。
Redis的优点
异常快
Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。支持丰富的数据类型 - Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
操作具有原子性
所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。多实用工具
Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。
Redis使用
以上操作主要是:
1.检查Redis是否正在工作;
2.在上面的提示中,127.0.0.1是计算机的IP地址,6379是运行Redis服务器的端口。 现在键入以下PING命令。
常用命令:
HDEL key field2 [field2]
删除一个或多个哈希表字段HEXISTS key field
查看哈希表 key 中,指定的字段是否存在。HGET key field
获取存储在哈希表中指定字段的值。HGETALL key
获取在哈希表中指定 key 的所有字段和值HINCRBY key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。HINCRBYFLOAT key field increment
为哈希表 key 中的指定字段的浮点数值加上增量 increment 。HKEYS key
获取所有哈希表中的字段HLEN key
获取哈希表中字段的数量HMGET key field1 [field2]
获取所有给定字段的值HMSET key field1 value1 [field2 value2 ]
同时将多个 field-value (域-值)对设置到哈希表 key 中。HSET key field value
将哈希表 key 中的字段 field 的值设为 value 。HSETNX key field value
只有在字段 field 不存在时,设置哈希表字段的值。HVALS key
获取哈希表中所有值HSCAN key cursor [MATCH pattern] [COUNT count]
迭代哈希表中的键值对。
注:
其中,在写脚本时主要将处理好的数据写入Redis中,配置相关信息如下:
# Local_Env为True,表示处于本地测试环境,为False表示处于线上环境
Local_Env = False
# Local_Env = True
if Local_Env:
# redis配置
redis_config = {'host': '127.0.0.1', 'port': 6379}
else:
# redis配置
redis_config = {'host': 'xxx.xxx.xxx.com', 'port': xxxx}
Redis_BD = redis.StrictRedis(host=redis_config['host'], port=redis_config['port'])
处理好数据以后将数据存入即可:
Redis_BD.hset(redis_key, data_s, data_t)