
# 自建主备Redis，迁移到GeminiDB Redis集群，需要考虑哪些因素？
GeminiDB Redis集群为Proxy集群，支持以单机、主备的方式直接访问，无需修改。对于多key操作，Redis主备和集群用法不一样，若涉及多key命令，则需要业务修改。
自建Redis单机、主备架构所有数据都在同一个节点上。因此，对于多key操作，比如lua、rpoplpush、集合（sdiff、sunion）等操作，可以保证其操作的原子性。在自建Redis集群中，对key进行hash取模，决定key被哪一个分片（节点）所处理。因此，对跨分片的多个key进行操作难以保证原子性。为了保证集群中多key操作的原子性，Redis cluster采用hashtag来保证需要操作的多个key落在同一个节点。
Redis hashtag的使用方法为，为需要操作的多key加增相同的字符串。例如{aaa}list1、{aaa}list2，Redis服务在处理以上key时，识别到"{}"时，仅根据"{}"的字符串"aaa"计算hash值，因此可以确保其落在相同的节点上。
GeminiDB Redis集群中需要增加hashtag的命令请参考[GeminiDB Redis集群版实例中，哪些命令需要使用hashtag](https://support.huaweicloud.com/redisug-nosql/redis_faq_0200.html)。
