代码之家  ›  专栏  ›  技术社区  ›  SummerCode

Redis StackExchange SortedSetAddAsync在一次调用中过期

  •  0
  • SummerCode  · 技术社区  · 6 年前

    我正在尝试添加一个密钥过期的SortedSet条目。还有比两个电话更好的方法吗? 这是我目前正在使用的:

        private IDatabase GetDataBase()
        {
            return this.GetLeastBusyMultiplexer().GetDatabase();
        }
    
        private ConnectionMultiplexer GetLeastBusyMultiplexer()
        {
            var leastBusyMultiplexer = this.Multiplexers.Aggregate((min, next) =>
            {
                if (min == null || next.Value.GetCounters().TotalOutstanding < min.Value.GetCounters().TotalOutstanding)
                {
                    return next;
                }
    
                return min;
            });
    
            return leastBusyMultiplexer.Value;
        }`
    

    添加到数据库的内容如下:

     var RedisDatabase = GetDataBase();
     RedisDatabase.SortedSetAddAsync(key, sortedSetEntry,whenNotExists)).ConfigureAwait(false);
     RedisDatabase.KeyExpireAsync(key, ttlValue).ConfigureAwait(false);
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Leisen Chang    6 年前

    如果你担心比赛条件,试试看 transaction or lua script .