吹的很牛 b, 但它毕竟是 c#写的,能干过 Redis 么?
1
luojianxhlxt 248 天前
研究了下,只有 db0 ,不知道是不是我不会用。。。
|
2
chendy 248 天前
内存集中的东西用带 gc 的语言总觉得不是很靠谱(但是我只写过 java ,c#啥机制不熟,但是目测也是带 gc 的吧)
但是如果考虑大集群之类的又觉得好像还行?… |
3
des 248 天前 1
哪里说“碾压”了?
|
6
bthulu 248 天前 1
这真是个好东西. 我司所有服务器跑的都是 windows, redis 还一直用的微软的 3.0 版本.
现在终于是出来了 windows 上可用的原生内存缓存了, 希望微软能一直更新迭代下去. |
7
kneo 248 天前 via Android
不服的可以比比。协议好像是兼容 redis 的。
|
8
me1onsoda 248 天前
我印象里 Windows 是不支持 epoll 的,nio 这块应该是不会比 linux 上 redis 更强吧
|
12
huang119412 248 天前
看 benchmark ,和其他测试选手比,Redis 基本上是最弱的,这也可以想到。毕竟 Redis 执行引擎是阻塞单线程,Redis 多线程只是 io 线程,测试的又是单机。Redis 单机性能本来就没啥优势,一般一台服务器上也不会只部署一个 Redis 进程。
|
15
Rache1 248 天前
@bthulu #6 Windows 上也有 Redis 5.x
Releases · tporadowski/redis https://github.com/tporadowski/redis/releases |
18
superrichman 248 天前 5
各个竞品都号称超越 redis ,但是最后大家还是用 redis
|
19
crysislinux 248 天前
这么巧。是因为预料到了 Redis 要改 license 么,哈哈。
|
20
lusi1990 248 天前 via Android
又是吊打苹果的一天
|
21
easonwood91 248 天前 1
我还以为吹加内特呢
|
22
luzemin 248 天前
|
23
luzemin 248 天前
侧面告诉哪些语言大战的人,高级语言放在大佬手里一样能整出与 C 性能相当的东西。
|
24
o562dsRcFqYl375i 248 天前
@easonwood91 你小子
|
25
Huelse 248 天前
https://github.com/dragonflydb/dragonfly 了解下,无缝对接 redis
|
26
matrix1010 248 天前 1
看 Garnet 的 benchmark( https://microsoft.github.io/garnet/docs/benchmarking/results-resp-bench)的 Figure 1 ,只有 Garnet 在单 session 无并发的情况下比 Redis 性能更强。注意 y 轴是对数,dragonfly 在这种情况下的性能相当差
|
27
matrix1010 248 天前
|
28
conglovely 248 天前
@bthulu #6 我本地装了一个
|
29
LeeReamond 248 天前
你这贴,C#有啥好震惊的, 一看就没做过涉及到 socket 编程的项目,起码没做过性能分析。网络 IO 编程里即使主观上不进行任何等待,你的代码有 99%的时间都在睡眠等待 IO 。。。
|
30
mightybruce 248 天前
现在吹比 redis 性能好的缓存多了去了,但是哪有一个有 redis 流行, 难道你才知道。
Rust 和 Go 语言轮番实现 redis 的 项目还少吗 这种还是 C# 和 windows 的就不用看了吧,难道你们公司都用的是 windows server |
31
Dorian101 248 天前
The Garnet server is written in modern .NET C#, and runs efficiently on almost any platform. It works equally well on Windows and Linux, and is designed to not incur garbage collection overheads. You can also extend Garnet's capabilities using new .NET data structures to go beyond the core API.
|
32
luzemin 248 天前 4
@mightybruce
>这种还是 C# 和 windows 的就不用看了吧,难道你们公司都用的是 windows server 纠正一下: 虽然 Windows+.NET Framework 绑定是人们固有印象,但是还是要纠正一下,.NET 2016 年后就跨平台了 当然这不是使不使用的唯一考虑条件 |
33
lichao 248 天前
@mightybruce C# 和 Windows 早就不是强绑定了,Linux 上也可以用
|
34
kaiserzhang123 248 天前
碾压算不上吧,只是与 Redis 有了竞争,选择多了一个,过去一段时间,内存型的数据库能用在生产上的感觉也只有 Redis 。
|
35
skinny 248 天前
Redis 开源协议更改针对的云服务提供商,像一般用户的项目即便部署在云上也没有影响。微软也是云服务提供商,如果它不想交钱开发替代品也是正常,不过鬼知道这是不是又一个烂尾项目,非云服务提供商用户没必要去帮忙踩坑当小白鼠。
|
36
BeiChuanAlex 248 天前
从语言上来说,还有比 C 写数据库 "更快的" 吗?
|
37
sloknyyz 248 天前
微软真是越来越有国内公司那味了,不知道是不是一个 kpi 项目
|
38
matrix1010 248 天前 via iPhone 5
@sloknyyz 人家文档测试 benchmark 一应俱全。这类东西还真就应该大公司开源,个人开发者没有真实高并发场景,一般也不会用 72c140g 的机器跑测试
|
39
thinkershare 248 天前
看好这个项目,我们公司就大量使用 Windows Server 作为服务器,Redis 在 Windows 下就是狗屎。
|
40
nothingistrue 248 天前
好是大概率好,但不一定能铺开,要是微软商务不介入,这东西最终会像 MicroSoft JDK 那样成为 Azure 的挂件,甚至可能更惨的像 Window 11 andorid 子系统那样被抛弃。
|
41
0m9ionbP8wuvs8S3 248 天前
官网的 Developer Guide 写的很详细
|
43
idealhs 248 天前
就像 Docker 会被取代一样,Redis 以后只会成为一种范式,大家都是 Redis 兼容,都比 Redis 强,都不用 Redis
|
44
guo4224 248 天前
@conglovely 我的是# Server
garnet_version:1.0.0 garnet_mode:standalone os:Unix 14.4.0 processor_count:8 arch_bits:64 uptime_in_seconds:3492.038925 uptime_in_days:0.0404171171875 monitor_task:disabled monitor_freq:0 latency_monitor:disabled run_id:3a304c5eef6a3db74274bf9ac463af486237358e |
45
yefuchao 248 天前 1
Under the new license, cloud service providers hosting Redis offerings will no longer be permitted to use the source code of Redis free of charge. For example, cloud service providers will be able to deliver Redis 7.4 only after agreeing to licensing terms with Redis, the maintainers of the Redis code. These agreements will underpin support for existing integrated solutions and provide full access to forthcoming Redis innovations.
https://redis.com/blog/redis-adopts-dual-source-available-licensing/ |
46
xierqii 248 天前
国内很难有它的市场
|
47
gav1nwwk 248 天前 1
@idealhs 微软能坚持下来的通常是新兴的市场,和现有标准竞争他是一次没赢过,WP 凉了,哪怕是 Win8 的设计也凉了,WSA 也凉了,微软做东西给人一种脑子一热就发布,发布后也不怎么维护,本着能用就行的底线做产品
|
48
idealhs 248 天前 3
@gav1nwwk #47
不明白你怎么有信心凭借几个枚举就能够评价一个巨型公司的行事。 如果我举例 Windows, Office, Visual Studio, Bing, Xbox, SQL Server, Azure, OneDrive, Teams, LinkedIn, PowerBI, Dynamics 365, Skype 来说明微软是一个善于坚持,并且坚持的足够比大部分公司都持久的公司,且其中不乏与现有标准竞争的产品,阁下又该如何应对? |
49
GrayXu 248 天前
虽然但是,redis 也不快,比 redis 快的都好几轮了
|
50
poorcai 248 天前
感觉想把 redis 比下去,压根就不是使用 `快不快`了,而是生态完全比不了
|
52
zed1018 248 天前
一般来讲项目方的 benchmark 可以只用看看就好来形容
|
53
securityCoding 247 天前
我用云 redis 。。。它有吗
|
54
yicong135 247 天前
如果汇编会不会更快
|
56
lixintcwdsg 247 天前
这东西就是内存存取,尽量压榨单核 CPU 和 IO 尽量用满
谈什么碾压不碾压的。。。 |
57
hez2010 247 天前
@sloknyyz 这玩意是微软研究院 2021 年开始做,最近终于搞出来的玩意。
另外 Azure 已经内部把 Redis 换成这个 Garnet 上生产上了几个月了。 |
58
livepps 247 天前 via Android
空数据库,默认配置 save 一下耗时 5 秒,保存了一个 8g 大小的文件。
|
60
HaroldFinchNYC 247 天前
@gav1nwwk #9 你肯定搞错了,google 和阿里才是经常弃坑的
|
62
agagega 247 天前
都是做技术的,说话别整营销号那一套,比如什么碾压、吊打,还有唯语言论,最经典的比如用 Rust 写的就一定牛逼
|
64
codegenerator 247 天前
@me1onsoda win 上有 iocp ,io 上应该不输,主要还是看 gc 这部分
|
65
dif 247 天前
多一个竞品挺好,面试题又多了几道。
|
66
billzhuang 247 天前
公司使用 windows server ,但还是可以搞几台 linux 装 redis 的吧
|
67
cnleon 247 天前
它的 benchmark 是 72 vcpus, 144 GiB memory 。 这个比试不大公平啊
|
69
KiraMaple 242 天前
@luzemin #23 只要把语言当成工具就可以了。就像 garnet 内存管理直接使用 unsafe 指针管理内存大大降低 GC 带来的影响,写 NodeJS 也可以用 napi 把 CPU 密集型的运算用 C++代码或库负责,现在很多 CPU 密集型运算的库最终就是调用的 C++代码。
|
70
hez2010 242 天前
简单在我自己的电脑上跑了一下 memtier_benchmark:
memtier_benchmark -t 4 -c 50 --pipeline=1024 -n 1000000 Redis: ALL STATS ============================================================================================================================ Type Ops/sec Hits/sec Misses/sec Avg. Latency p50 Latency p99 Latency p99.9 Latency KB/sec ---------------------------------------------------------------------------------------------------------------------------- Sets 408346.45 --- --- 46.40698 42.23900 66.04700 70.14300 31458.55 Gets 4083419.55 18668.12 4064751.43 46.35596 42.23900 66.04700 70.14300 159685.06 Waits 0.00 --- --- --- --- --- --- --- Totals 4491766.00 18668.12 4064751.43 46.36059 42.23900 66.04700 70.14300 191143.62 Garnet: ALL STATS ============================================================================================================================ Type Ops/sec Hits/sec Misses/sec Avg. Latency p50 Latency p99 Latency p99.9 Latency KB/sec ---------------------------------------------------------------------------------------------------------------------------- Sets 1009126.20 --- --- 18.53643 17.79100 29.69500 35.58300 77741.95 Gets 10091151.04 91566.19 9999584.85 18.51609 17.79100 29.69500 35.58300 396130.24 Waits 0.00 --- --- --- --- --- --- --- Totals 11100277.24 91566.19 9999584.85 18.51794 17.79100 29.69500 35.58300 473872.19 确实 Garnet 无论是吞吐量还是延时都碾压了 Redis 。 哪怕设置 --pipeline=1 让 benchmark 跑完一个请求之后再发下一个请求的这种利好 redis 的单线程测试场景,garnet 一样跑出了比 redis 更好的成绩。 |
71
viitgenstand 240 天前
garnet 可以直接使用现有的 redis 客户端管理工具连接,使用起来应该还是挺方便的,就看性能和稳定性了
|