Skip to content

xRedis 使用问题

xSky edited this page Aug 21, 2019 · 3 revisions

1. xRedis是线程安全的吗?还是我需要自己做一些线程锁?

多线程下,在不同的线程访问同一个xredisclient对像,不需要加锁,内部有锁处理。

2. xRedis支持windows么,怎么在windows下使用?

支持。有关在win下使用的问题,在这里总结一下: xRedis依赖hiredis,因此需先要先在win下编译hiredis库, hiredis在win下编译使用,可以看下微软的:https://github.com/MSOpenTech/redis 编译好win下的hiredis后,就可以直接在C++里使用xRedis了。

3.redis连接超时后断开,有没有相应的自动重连机制呢?

比如redis的连接,由于长时间不通讯,这时候会被redis服务器断开,这时候我需要手动
重新启动xRedis还是可以设置什么方式保持连接?
xRedis提供keepalive方法,需要使用者自己按需要定时调,与REDIS服务保持心跳,
keepalive内部检测连接异常时会尝试重连接。

4.xRedisClient支持redis cluster么?

xRedisClient主要是一个redis的client,内部实现了基于数据分片的多节点存储,
是不同于redis官方的集群实现。不能支持访问redis cluster的。不过,为了方便C++访问
官方redis cluster的需要,xredis单独封装了一个支持访问redis cluster的
xRedisClusterClient类:
https://github.com/0xsky/xredis/blob/master/src/xRedisClusterClient.h
具体的使用方法请看demo示例。