加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

一 python+redis使用

发布时间:2020-12-20 10:14:37 所属栏目:Python 来源:网络整理
导读:一? .redis+python 1.redis https://www.cnblogs.com/zhaohuhu/p/9140673.html#_label0_0 Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志

一? .redis+python

1.redis

https://www.cnblogs.com/zhaohuhu/p/9140673.html#_label0_0

Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。
它支持数据结构,如 字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志和带有半径查询的地理空间索引。
Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性和Redis 
Cluster自动分区。

用于操作内存的软件
可以做持久化
AOF
RDB
-相当于一个大字典
单进程单线程

redis常见性能问题和解决方案:


(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件 (2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次 (3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内 (4) 尽量避免在压力很大的主库上增加从库 (5) 主从复制不要用图状结构,用单向链表结构更为稳定,即:Master <- Slave1 <- Slave2 <- Slave3... 这样的结构方便解决单点故障问题,实现Slave对Master的替换。如果Master挂了,可以立刻启用Slave1做Master,其他不变。

?2. resis+python

1. 连接池

redis-py使用connection pool来管理对一个redis server的所有连接,避免每次建立、释放连接的开销。默认,
每个Redis实例都会维护一个自己的连接池。可以直接建立一个连接池,然后作为参数Redis,这样就可以实现多个Redis实例
共享一个连接池。

使用连接池
本质 维护一个已经和服务器连接成功了的socket
以后再发送数据时 直接获取一个sockect 直接send数据
import redis pool = redis.ConnectionPool(host=192.168.18.11,port=6379) r = redis.Redis(connection_pool=pool) r.set(foo,Bar) print (r.get(foo)) #是一个字节 b‘Bar‘

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读