首页   注册   登录
 scriptB0y 最近的时间轴更新
scriptB0y

scriptB0y

🏢  Python-dev
V2EX 第 204213 号会员,加入于 2016-12-03 15:44:02 +08:00
今日活跃度排名 7447
Redis RESP3 的一些想法
Redis  •  scriptB0y  •  17 天前  •  最后回复来自 scriptB0y
4
redis.io 跑在一台仅 $5/月的 DigitalOcean 机器上
  •  2   
    程序员  •  scriptB0y  •  19 天前  •  最后回复来自 ricewine
    27
    (2020 年了)依然应该将行最大长度设置为 80!
    程序员  •  scriptB0y  •  28 天前  •  最后回复来自 jelipo
    25
    一个 idea:给 redis 加一个 “Peek” 命令
    分享创造  •  scriptB0y  •  47 天前  •  最后回复来自 wzw
    1
    《捕蛇者说》播客第 10 期:聊聊 Vim
    Python  •  scriptB0y  •  62 天前  •  最后回复来自 qq7790586
    14
    2020 年,你自己 hosting 了什么?
    程序员  •  scriptB0y  •  74 天前  •  最后回复来自 WoodenRobot
    21
    scriptB0y 最近回复了
    有一种索引叫做 partial index,可以根据条件建立索引。你这种情况可以

    create unique index unique_b_c_if_a_is_one on partial_index(b,c) where a='1';

    然后再创建一个索引

    create index unique_b_c_if_a_not_one on partial_index(b,c) where a!='1';

    就可以满足你的需求。但是据我所知 postgres ( https://www.postgresql.org/docs/9.3/indexes-unique.html ) 和 SQL Server 支持这种索引,mysql 目前应该不支持。

    不知道有没有其他方案哈。
    iina 用户表示感谢,在诸多违反开源协议的播放器中,iina 是一股清流

    https://github.com/FFmpeg/web/blob/master/src/shame
    2 天前
    回复了 timqian 创建的主题 分享创造 Feeds Pub - 一个社会化的 RSS 阅读器
    太赞了! @laike9m 我们扯了半天犊子,人家都实现了。XD
    4 天前
    回复了 zxc1234 创建的主题 程序员 关于 B+tree 索引的疑问
    @andj4cn 微信的图无法显示。
    我勒个去,为啥有三个人在几秒内一起回这个。。。
    @storypanda 哈哈哈 pycon 上也有人这么说,我们考虑一下哈哈,要怪还是怪这门语言叫 Python 吧
    @Sngo
    @127000

    额 为啥这个地址我还是能打开的……
    @zhoudaiyu 不是的,这两个是不同的东西。

    sentinel 做的事情基本上就是 master 挂了之后帮你提升 replica 为 master,跟你雇了个人盯着 master,出问题的时候执行切换的效果一样,所以它叫做 “sentinel”。本质上这还是一个 Redis 在工作,一个 Redis 在 backup。3 个 sentinel 节点在监工(为了节省资源可以和应用部署在一起,sentinel 基本不需要什么资源)。

    cluster 是完全另一个东西,它把 key 分散在多个 redis 实例上,这样就可以水平扩展了,这些实例本身会自己处理好 replica,failover。看起来 cluster 也能 failover,但是 cluster 是有限制的。1 ) cluster 不支持多个 key 的操作,比如 zinterstore,除非这些 key 存在于同一个实例上。这点想想就明白了,在多台 redis 上是无法保证都成功的。2 ) 只支持 1 个 db,db 0,select 是无效的。

    然而最大的问题是 3 )客户端必须以 cluster 的协议与 redis 沟通,因为客户端需要处理路由。

    可以看下 python 的客户端 https://redis-py-cluster.readthedocs.io/en/master/limitations-and-differences.html

    虽然有一些方案可以用代理的方式屏蔽 cluster 的处理

    redis 官方也出的 proxy: https://github.com/RedisLabs/redis-cluster-proxy

    pingcap 以前出品的 codis: https://github.com/CodisLabs/codis

    其实从单机迁移到 cluster 也是成本很大的,我之前看过一个公司的迁移经验分享,但是找不到链接了。。。

    所以场景还是不一样,水平扩展就用 clsuter,如果只需要 fail over 那就用 sentinel 模式。有很多公司也有不错的 proxy 方案
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1246 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:41 · PVG 02:41 · LAX 11:41 · JFK 14:41
    ♥ Do have faith in what you're doing.