V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  scriptB0y  ›  全部回复第 5 页 / 共 75 页
回复总数  1496
1  2  3  4  5  6  7  8  9  10 ... 75  
@zhoudaiyu 就遇到这一个,其他的没了。sentinel 应该是支持的,但是我没用过

https://github.com/sibson/redbeat/blob/84743ca5272ceb74b165aa98875f250f877ac1e4/docs/config.rst#sentinel-support
https://github.com/sibson/redbeat 推荐直接用这个。我用了一年了,它用在 redis 里面加锁的方式,起 N 个 beat 进程但是只有一个在运行,其余的待命。一般的高可用是够了。

之前这个锁有个 bug,不过我帮他 fix 了 XD https://github.com/sibson/redbeat/pull/128
2020 年 4 月 10 日
回复了 sandman511 创建的主题 程序员 Java8 Optional 怎么用
Optional 就是让 null 的处理更有语义,并且强制要求判断 null 而已。比如你的接口声明返回 optional,那调用方就必须去处理 null 的情况。

oracle 这篇看完就全懂了:
https://www.oracle.com/technical-resources/articles/java/java8-optional.html
直接用 fileinput,无论按照什么逻辑分割都能三五行搞定

https://docs.python.org/3.8/library/fileinput.html
有一种索引叫做 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
2020 年 3 月 31 日
回复了 timqian 创建的主题 分享创造 Feeds Pub - 一个社会化的 RSS 阅读器
太赞了! @laike9m 我们扯了半天犊子,人家都实现了。XD
2020 年 3 月 29 日
回复了 zxc1234 创建的主题 程序员 关于 B+tree 索引的疑问
@andj4cn 微信的图无法显示。
我勒个去,为啥有三个人在几秒内一起回这个。。。
@storypanda 哈哈哈 pycon 上也有人这么说,我们考虑一下哈哈,要怪还是怪这门语言叫 Python 吧
@Sngo
@127000

额 为啥这个地址我还是能打开的……
2020 年 3 月 19 日
回复了 black11black 创建的主题 Java 生产环境下的 redis 集群一般是如何部署的?
@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 方案
2020 年 3 月 19 日
回复了 black11black 创建的主题 Java 生产环境下的 redis 集群一般是如何部署的?
cluster 没有必要用 sentinel 了,cluster 自身就带 fail over 功能。

7 台机器,可以三台为 master,4 台为 replica。这样 7 台机器中可以随便挂掉任意两台。(必须是依次挂掉,不能同时挂)

可以看下这个教程: https://redis.io/topics/cluster-tutorial
2020 年 3 月 18 日
回复了 Livid 创建的主题 cURL curl 将在版本 7.70 支持以 JSON 方式输出调试信息
@chocotan
@onion83
@langxuan

不是一个东西,这个功能不是将 HTTP Response 输出格式化,是 curl 本身的调试信息以 json 输出。
2020 年 3 月 18 日
回复了 Livid 创建的主题 RSS NetNewsWire 5 在 App Store 发布
下载下来发现好像不支持设置代理,我之前用 reeder3 也不支持设置代理,只能设置系统的全局代理,就放弃了。。。用回网页版的 feedly 了
2020 年 3 月 16 日
回复了 kisshere 创建的主题 程序员 Linux 怎么查看最后一次对某文件夹的操作命令是啥?
如果进程还存在的话,可以用 fuser 看看
2020 年 3 月 16 日
回复了 brader 创建的主题 MySQL 关于 mysql 索引讨论
在没 Explain 的情况下,我尝试分析下:

- username, type, number 索引,针对第一条 SELECT 语句,这样应该光在索引里面就得到结果了;
- type 单独建索引,虽然用 type 查的话区别不大了,filter 会消耗大头的时间, 但是有跟没有还是应该有区别的;
- username 不需要建索引,使用 username 可以走第一条索引;

最靠谱的办法是看 Explain 分析一下,第二靠谱的办法是压测一下。不同的数据库的优化器可能有不同的选择。

分享下 https://use-the-index-luke.com/sql/table-of-contents 看完这个对索引基本就明白了。

嫌长可以看下我的笔记:

1. https://www.kawabangga.com/posts/3893
2. https://www.kawabangga.com/posts/3915
2020 年 3 月 16 日
回复了 scriptB0y 创建的主题 Redis Redis RESP3 的一些想法
@RedisMasterNode 如果都要支持的话感觉有些新功能可能会受 RESP2 的限制,发布的时候决定兼容有相关的讨论链接吗?

提供直接执行命令的接口,然后在封装这样也是可以的,我觉得就像 ORM 但是 ORM 也提供了直接执行 SQL 的接口那样。

友链已添加,多多交流 ~
1  2  3  4  5  6  7  8  9  10 ... 75  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   895 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 22:29 · PVG 06:29 · LAX 15:29 · JFK 18:29
♥ Do have faith in what you're doing.