redis
ailinyingai
DevOps 搬砖人 干饭人
展开
-
排行榜redis
import ujsonimport functoolsclass RanklistBase(dict): def __init__(self, name, redis_handler, ex=30): self.name = name self.redis_handler = redis_handler self.ex = ex self.ranklist = [] self.plugin_functions原创 2021-08-25 10:49:28 · 179 阅读 · 0 评论 -
redis 实现记录页面浏览次数
如题如何进行处理 说一下思路原创 2021-06-17 23:37:03 · 966 阅读 · 1 评论 -
发布订阅
# -*- coding: utf-8 -*-import timeimport redisclient = redis.StrictRedis()p = client.pubsub()p.subscribe("codehole")time.sleep(1)print p.get_message()client.publish("codehole", "java comes")time.sleep(1)print p.get_message()client.publish("code翻译 2021-03-18 21:02:52 · 57 阅读 · 0 评论 -
漏斗限流
# coding: utf8import timeclass Funnel(object): def __init__(self, capacity, leaking_rate): self.capacity = capacity # 漏斗容量 self.leaking_rate = leaking_rate # 漏嘴流水速率 self.left_quota = capacity # 漏斗剩余空间 self.leakin原创 2021-03-18 20:54:29 · 118 阅读 · 0 评论 -
redis 简单限流
# coding: utf8import timeimport redisclient = redis.StrictRedis()def is_action_allowed(user_id, action_key, period, max_count): key = 'hist:%s:%s' % (user_id, action_key) now_ts = int(time.time() * 1000) # 毫秒时间戳 with client.pipeline() a原创 2021-03-18 20:53:15 · 120 阅读 · 0 评论 -
布隆过滤器误判 基本上万分之一
# coding: utf-8import redisimport randomclient = redis.StrictRedis()CHARS = ''.join([chr(ord('a') + i) for i in range(26)])def random_string(n): chars = [] for i in range(n): idx = random.randint(0, len(CHARS) - 1) chars.ap原创 2021-03-18 20:50:24 · 124 阅读 · 0 评论 -
nosql
redis数据持久化有哪些方式?rdbaofredis集群方案有哪些?官方cluster方案twemproxy代理方案哨兵模式codis客户端分片redis如何进行数据备份与恢复?备份redis 127.0.0.1:6379> SAVE创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。还原只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可redis 127.0.0.1:6379> CONFIG GET dir.翻译 2020-12-31 10:12:52 · 84 阅读 · 0 评论 -
redis哨兵
Redis Sentinel(译为“哨兵”)是 Redis 官方推荐的高可用性(HA)解决方案,当用 Redis 做 Master-slave 的高可用方案时,假如 master 宕机了,Redis 本身(包括它的很多客户端)都没有实现自动进行主备切换,而 Redis-sentinel 本身也是一个独立运行的进程,它能监控多个 master-slave 集群,发现 master 宕机后能进行自动切换。Redis Sentinel 系统用于管理多个 Redis 服务器(instance),该系统执行以下三个翻译 2020-12-09 22:11:10 · 75 阅读 · 0 评论 -
redis相关二
Redis 的网络 IO 和键值对读写是由主线程完成的,网络 IO 有时候会比较慢,但是 Redis 使用了 IO 多路复用机制,避免了主线程一直处在等待网络连接或请求到来的状态,所以,网络 IO 不是导致 Redis 阻塞的因素。键值对的增删改查操作是 Redis 和客户端交互的主要部分,复杂度高的增删改查操作肯定会阻塞 Redis。怎么判断操作复杂度是不是高呢?就是看操作的复杂度是否为 O(N)。Redis 中涉及集合的操作复杂度通常为 O(N);集合自身的删除操作同样也有潜在的阻塞风险;释放内存只原创 2020-12-01 14:39:36 · 187 阅读 · 0 评论 -
redis相关一
Redis 通过 MULTI、EXEC、DISCARD 和 WATCH 四个命令来支持事务机制,对ACID 的保证情况原子性命令入队时就报错,会放弃事务执行,保证原子性;命令入队时没报错,实际执行时报错,不保证原子性;EXEC 命令执行时实例故障,如果开启了 AOF 日志,可以保证原子性。一致性,总结来说,Redis 事务机制对一致性属性是有保证的命令入队时就报错命令入队时没报错,实际执行时报错EXEC 命令执行时实例故障,没有开启 RDB 或 AOF,例故障重启后,数据都没有了,数据库是一原创 2020-12-01 14:36:43 · 72 阅读 · 0 评论 -
redis 命令总结
1.键值相关的命令keys返回满足给定pattern的所有key表达式* 代表取出所有的keyredis 127.0.0.1:6379> keys *“myzset2”“myzset3”“mylist”“myset2”“myset3”“myset4”“k_zs_1”keys prefix_* // 查看前缀为"prefix_"的所有keysexists...原创 2019-09-26 10:09:10 · 83 阅读 · 0 评论