예제 #1
0
 public static List <T> GetResultSets <T>(this StoredProcedureWithResultSet <T> storedProcedure
                                          , RedisClient redisClient
                                          , TimeSpan expiry, When when = When.Always, CommandFlags flags = CommandFlags.None)
     where T : StoredProcedureResultSet, new()
 {
     return(storedProcedure.GetResultSets(redisClient, storedProcedure.GetRedisKey(), expiry, when, flags));
 }
예제 #2
0
 public static List <T> GetResultSets <T>(this StoredProcedureWithResultSet <T> storedProcedure
                                          , RedisClient redisClient, String key
                                          , TimeSpan expiry)
     where T : StoredProcedureResultSet, new()
 {
     return(storedProcedure.GetResultSets(redisClient, key, expiry, When.Always, CommandFlags.None));
 }
예제 #3
0
        public static TimeSpan?GetCacheLiveTime <T>(this StoredProcedureWithResultSet <T> storedProcedure, RedisClient redisClient)
            where T : StoredProcedureResultSet, new()
        {
            var sp = storedProcedure;

            return(redisClient.Database.KeyTimeToLive(sp.GetRedisKey()));
        }
예제 #4
0
        public static String GetRedisKey <T>(this StoredProcedureWithResultSet <T> storedProcedure)
            where T : StoredProcedureResultSet, new()
        {
            var sp = storedProcedure;

            return(sp.GetDatabaseKey() + Environment.NewLine + sp.ToString());
        }
예제 #5
0
        public static String GetRedisKey <T>(this StoredProcedureWithResultSet <T> storedProcedure)
            where T : StoredProcedureResultSet, new()
        {
            var sp  = storedProcedure;
            var idx = sp as IDatabaseContext;

            return(idx.DatabaseKey + Environment.NewLine + sp.ToString());
        }
예제 #6
0
        public static List <T> GetResultSets <T>(this StoredProcedureWithResultSet <T> storedProcedure
                                                 , RedisClient redisClient, String key
                                                 , TimeSpan expiry, When when = When.Always, CommandFlags flags = CommandFlags.None)
            where T : StoredProcedureResultSet, new()
        {
            var sp = storedProcedure;
            var rs = redisClient.Get <List <T> >(key);

            if (rs == null)
            {
                var resultSets = sp.GetResultSets();
                redisClient.Set(key, resultSets, expiry, when, flags);
                return(resultSets);
            }
            return(rs);
        }