内部产品使用redis容量到了上限,准备着手迁移到codis
然而遇到一些问题难以解决:
- 原来业务逻辑有一个是使用了redis的
keys()
方法,查询某一个正则匹配的key list,在codis中不支持 - 在原有的逻辑是要分db现在codis没有办法做db的区分
- 以上问题都需要在业务代码中进行改动
中间为了达到目的中间做了一些测试和代码调试,记录下codis和redis的差异
cfg = DotDict(redis_config)
db = 1
conn_ori = redis.StrictRedis(host=cfg.host, port=cfg.port, password=cfg.password, db=db,
charset="utf-8", decode_responses=True,
socket_connect_timeout=10, socket_timeout=20, socket_keepalive=True)
cfg_new = DotDict(codis_config)
db = 0
conn_new = redis.StrictRedis(host=cfg_new.host, port=cfg_new.port, charset="utf-8", decode_responses=True,db=db,
socket_connect_timeout=10, socket_timeout=20, socket_keepalive=True)