不同编程语言如何使用Cluster集群客户端
当前DCS Cluster集群对比Proxy集群的优势和特性:
对比项 |
Cluster集群 |
Proxy集群 |
---|---|---|
原生兼容性 |
高 |
中 |
客户端兼容性 |
中(需要客户端开启集群模式) |
高 |
性价比 |
高 |
中 |
时延 |
低时延 |
中等时延 |
读写分离 |
原生支持(客户端SDK配置) |
Proxy实现 |
性能 |
高 |
中 |
Cluster集群由于没有代理层,在时延和性能方面具备一定的优势;但是对于客户端使用方面,由于Cluster集群使用开源的Redis Cluster协议,在客户端的兼容性方面略差与Proxy集群。
推荐的Cluster集群客户端:
客户端语言 |
客户端类型 |
Cluster集群参考文档 |
---|---|---|
Java |
Jedis |
|
Java |
Lettuce |
https://github.com/lettuce-io/lettuce-core/wiki/Redis-Cluster |
PHP |
php redis |
|
Go |
Go Redis |
Cluster集群:https://pkg.go.dev/github.com/go-redis/redis/v8#NewClusterClient Proxy集群或单机主备:https://pkg.go.dev/github.com/go-redis/redis/v8#NewClient |
Python |
redis-py-cluster |
|
C |
hiredis-vip |
https://github.com/vipshop/hiredis-vip?_ga=2.64990636.268662337.1603553558-977760105.1588733325 |
C++ |
redis-plus-plus |
|
Node.js |
node-redis io-redis |
官方推荐的开源客户端列表:https://redis.io/clients。
Redis使用 所有常见问题
- 是否支持CPU架构的变更?
- 实例是否支持变更可用区
- Redis实例能否修改VPC和子网?
- 实例是否支持自定义或修改端口?
- 实例是否支持修改访问地址?
- 实例无法删除是什么原因?
- 集群实例启动时间过长是什么原因?
- 使用redis_exporter出错怎么办?
- 什么是预留内存,如何配置预留内存?
- 创建的缓存实例为什么可使用内存比实例规格少一些?
- Redis 3.0 Proxy集群不支持redisson分布式锁的原因
- DCS Redis有没有后台管理软件?
- DCS缓存实例的数据被删除后,能否找回?
- 为什么实例实际可用内存比申请规格小而且已使用内存不为0?
- 如何查看Redis内存占用量
- Cluster集群实例容量和性能未达到瓶颈,但某个分片容量或性能已过载是什么原因?
- 访问Redis报OOM错误提示
- 不同编程语言如何使用Cluster集群客户端
- 使用Cluster的Redis集群时建议配置合理的超时时间
- 读取redis数据报超时错误
- hashtag的原理、规则及用法示例
- Redis key丢失是什么原因
- 重启实例后缓存数据会保留吗?
- 如何确认实例是单DB还是多DB
- Proxy集群使用多DB限制
- 如何创建多DB的Proxy集群实例?
more