Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            ServiceStackHelper.Help();

            using (var redisManager = new PooledRedisClientManager())
            using (var redis = redisManager.GetClient())
            {
                var redisTodos = redis.As<Todo>();
                for (int i = 0; i < 20000; i++)
                {
                    var todo = new Todo
                    {
                        Id = redisTodos.GetNextSequence(),
                        Content = "Learn Redis",
                        Order = 1,
                    };
                    redisTodos.Store(todo);
                    Todo savedTodo = redisTodos.GetById(todo.Id);
                    savedTodo.Done = true;
                    redisTodos.Store(savedTodo);
                    //"Updated Todo:".Print();
                    //redisTodos.GetAll().ToList().PrintDump();

                    redisTodos.DeleteById(savedTodo.Id);
                }

                "No more Todos:".Print();
                redisTodos.GetAll().ToList().PrintDump();
            }
            Console.ReadLine();
        }
Ejemplo n.º 2
0
 private static void Pump()
 {
     var pool = new PooledRedisClientManager(new string[] {"127.0.0.1"});
     pool.ConnectTimeout = 30000;
     pool.SocketSendTimeout = 30000;
     pool.SocketReceiveTimeout = 30000;
     var today = DateTime.Today;
     for (var d = 0; d < _forwardDays; d++)
     {
         var ds = today.AddDays(d).ToString("yyyy-MM-dd");
         for (var r = 1; r <= _numberOfRids; r++)
         {
             for (var ps = 1; ps <= _partySizeCacheMax; ps++)
             {
                 var key = string.Format("AS1_{0}_{1}_{2}", r, ds, ps);
                 var val = string.Format("{0}_0_abcdefgh0123456789012345678901234567890123456789", r);
                 try
                 {
                     using (IRedisClient client = pool.GetClient())
                     {
                         client.Set(key, val);
                     }
                 }
                 catch (Exception)
                 {
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
 public Task<bool> DeleteDataBulk(IEnumerable<dynamic> Ids, string CollectionName)
 {
     try
     {
         using (var redisManager = new PooledRedisClientManager())
         using (var redis = redisManager.GetClient())
         {
             foreach (var Fid in Ids)
             {
                 var datas = redis.ScanAllKeys($"{DBName}:{CollectionName}:{Fid}");
                 foreach (var item in datas)
                 {
                     redis.Remove(item);
                 }
             }
             return Task.FromResult(true);
         }
     }
     catch
     {
         //print ke log
         //throw;
         return Task.FromResult(false); ;
     }
 }
Ejemplo n.º 4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var blogRedis = new BlogRedis(client);
        var memberRedis = new MemberRedis(client);

        var Id = Request["ID"];
        var idNull = string.IsNullOrEmpty(Id);
        Item = new Member();
        using (var con = DAL.con())
        {
            if (!idNull)
            {
                var blog = blogRedis.GetById(Convert.ToInt64(Id));

                Item = memberRedis.GetByUsername(blog.NguoiTao);
                //blog.Anhs = AnhDal.SelectByPId(con, blog.RowId.ToString(), 20);
                //blog.Profile = Item;
                ViewForProfile.Xes = Item.GetXe(client);
                ViewForProfile.Nhoms = Item.GetNhom(client);
                ViewForProfile.Pager = BinhLuanDal.PagerByPRowId(con, "", true, blog.RowId.ToString(), 20);
                ViewForProfile.Blog = blog;
                ViewForProfile.Item = Item;
            }
        }
    }
Ejemplo n.º 5
0
        public override void Configure(Container container)
        {
            string sc = ConfigurationManager.AppSettings.Get("DbConnection");

            string rchost= ConfigurationManager.AppSettings.Get("SessionRedisHost");
            rchost= (string.IsNullOrEmpty(rchost))? "localhost:6379": rchost;

            string rcpassword= ConfigurationManager.AppSettings.Get("SessionRedisPassword");

            string rcdbs=  ConfigurationManager.AppSettings.Get("SessionRedisDb");
            int rcdb;
            if(! int.TryParse(rcdbs, out rcdb) ) rcdb= 10;

            string sstout = ConfigurationManager.AppSettings.Get("SessionTimeout");
            int sessionTimeout;
            if(! int.TryParse(sstout, out sessionTimeout) ) sessionTimeout= 60*8;

            var cacheClient= new  BasicRedisClientManager( new string[]{rchost}, new string[]{rchost}, rcdb);
            cacheClient.GetClient().Password= rcpassword;

            container.Register<IAuthProvider>( new BdAuthProvider()
            {
                DbFactory=new ConnectionFactory(sc,  FirebirdDialectProvider.Instance),
                AuthUserSession= new UserSession()
                {
                    CacheClient= cacheClient,
                    TimeOut=sessionTimeout,
                }
            });

            string phost= ConfigurationManager.AppSettings.Get("CacheHost");
            phost = (string.IsNullOrEmpty(phost))?"localhost:6379":phost;

            string pdbs= ConfigurationManager.AppSettings.Get("CacheDb");
            int pdb ;
            if(! int.TryParse(pdbs, out pdb) ) pdb= 9;

            string ppassword= ConfigurationManager.AppSettings.Get("CachePassword");

            var p = new PooledRedisClientManager(new string[]{phost}, new string[]{phost}, pdb);
            p.GetClient().Password= ppassword;
            container.Register<ICacheClient>( p);
            container.Register<IDbConnectionFactory>(
                new ConnectionFactory(sc,  FirebirdDialectProvider.Instance)
            );

            //Permit modern browsers (e.g. Firefox) to allow sending of any REST HTTP Method
            base.SetConfig(new EndpointHostConfig
            {
                GlobalResponseHeaders =
                    {
                        { "Access-Control-Allow-Origin", "*" },
                        { "Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS" },
                        { "Access-Control-Allow-Headers","X-Requested-With"}
                    },
            });

            log.InfoFormat("AppHost Configured: " + DateTime.Now);
        }
Ejemplo n.º 6
0
 //Método requerido para establecer una conexión con el servicio de Redis
 private static void RedisConnection()
 {
     if (redisClient == null)
     {
         var clientsManager = new PooledRedisClientManager(RedisUri);
         redisClient = clientsManager.GetClient();
     }
 }
Ejemplo n.º 7
0
 public Article ReadArticle(int id)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         return redis.GetById<Article>(id);
     }
 }
Ejemplo n.º 8
0
 public User ReadUser(int userId)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         return redis.GetById<User>(userId);
     }
 }
Ejemplo n.º 9
0
 public static List<Article> ListArticles()
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         return redis.Sets["Articles"].Select(x => redis.GetById<Article>(int.Parse(x))).ToList<Article>();
     }
 }
 public void DeleteComment(int commentId)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisComment = redis.As<Comment>();
         redisComment.DeleteById(commentId); // Delete old user using ID
     }
 }
Ejemplo n.º 11
0
 public void DeleteUser(int userId)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisUser = redis.As<User>();
         redisUser.DeleteById(userId); // Delete old user using ID
     }
 }
Ejemplo n.º 12
0
 // New methods using usernames instead of IDs
 public static User ReadUsername(string username)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         User target = redis.GetById<User>(redis.Get<int>(username + ":id"));
         return target;
     }
 }
Ejemplo n.º 13
0
 public void DeleteArticle(int id)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisArticle = redis.As<Article>();
         redisArticle.DeleteById(id);
     }
 }
 public Comment ReadComment(int commentId)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         Comment target = redis.GetById<Comment>(commentId);
         return target;
     }
 }
Ejemplo n.º 15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var alias = Request["Alias"];
        using (var con = DAL.con())
        {
            var objRedis = new ObjRedis(client);

            var obj = objRedis.GetByAlias(alias);
            if(obj != null && !string.IsNullOrEmpty(obj.Url))
            {
                Response.Redirect(obj.Url, true);
            }

            var memberRedis = new MemberRedis(client);
            var promotedUsers = memberRedis.GetXacNhanItems(0, 7);
            //UserHomeList.List = MemberDal.SelectPromoted(con, 8, 61);
            UserHomeList.List = promotedUsers;

            var blogRedis = new BlogRedis(client);
            //var userBlogs = BlogDal.SelectTopBlogProfile(con, 10, Security.Username, null);
            var userBlogs = blogRedis.GetNhatKyItems(0, 9);
            blogTop.List = userBlogs;
            //var carBlogs = BlogDal.SelectTopBlogXe(con, 10, Security.Username, null);
            var carBlogs = blogRedis.GetHanhTrinhItems(0, 10);
            nhatKyXeTop.List = carBlogs;

            var xeRedis = new XeRedis(client);
            //var topCars = XeDal.HomeTop;
            var topCars = xeRedis.GetAllItems(0, 9);
            //var newstpCars = XeDal.HomeNewest;
            var newstpCars = xeRedis.GetTopItems(0, 9);

            topCarsList.List = topCars;
            newestCarsList.List = newstpCars;

            promotedHome.Visible = false;
            promotedHome.HomeBig = XeDal.PromotedHomeBig.FirstOrDefault();
            promotedHome.HomeMedium = XeDal.PromotedHomeMedium.Take(2).ToList();
            promotedHome.HomeSMall = XeDal.PromotedHomeSmall.Take(4).ToList();

            var loaiDanhMucRedis = new LoaiDanhMucRedis(client);
            var hangXe = loaiDanhMucRedis.GetByAlias("HANGXE");

            //var hangXeList = DanhMucDal.SelectByLDMMa(con, "HANGXE");
            if(hangXe!=null)
            {
                var hangXeList = hangXe.GetDanhMuc(client);
                var hangList = (from p in hangXeList
                                where p.PID == Guid.Empty
                                select p).OrderBy(m => m.ThuTu).ToList();
                LeftMenu.List = hangList;
            }
        }
    }
Ejemplo n.º 16
0
        /// <summary>
        /// 连接池进行创建连接
        /// </summary>
        /// <returns></returns>
        public IRedisClient GetClient(List<string> readwritehosts,List<string> readhosts)
        {
            RedisClientManagerConfig redisconfig = new RedisClientManagerConfig();
            redisconfig.MaxReadPoolSize = 5;
            redisconfig.MaxWritePoolSize = 5;
            redisconfig.AutoStart = true;

            PooledRedisClientManager poolredis = new PooledRedisClientManager(readwritehosts, readhosts, redisconfig);
            return poolredis.GetClient();
        }
Ejemplo n.º 17
0
        public static List<string> ListOres()
        {
            using (var pooledRedisClient = new PooledRedisClientManager())
            using (var redis = pooledRedisClient.GetClient())
            {
                var set = redis.Sets["Ores"];

                List<string> target = set.ToList<string>();
                return target;
            }
        }
Ejemplo n.º 18
0
        private string GetKeyValue(string key)
        {
            var settingsProvider = GetSettingsProvider();
            var settings         = settingsProvider.GetSettings().Result as RedisLockSettings;

            using (var client = new ST.PooledRedisClientManager(settings.Hosts.ToArray()))
            {
                var client1 = client.GetClient();
                var value   = client1.GetValue(key);
                return(value);
            }
        }
Ejemplo n.º 19
0
 public object Get(string key)
 {
     using (var redisManager = new PooledRedisClientManager(_connectionString))
     {
         using (var redis = redisManager.GetClient())
         {
             var redisCachedObjects = redis.As<RedisCachedObject>();
             var redisCachedObject = redisCachedObjects.GetById(key);
             return redisCachedObject.Obj;
         }
     }
 }
Ejemplo n.º 20
0
        public void Can_recover_from_server_terminated_client_connection()
        {
            const int SleepHoldingClientMs = 5;
            const int SleepAfterReleasingClientMs = 0;
            const int loop = 1000;

            var admin = new RedisClient("localhost");
            admin.SetConfig("timeout", "0");
            var timeout = admin.GetConfig("timeout");
            timeout.Print("timeout: {0}");

            int remaining = loop;
            var stopwatch = Stopwatch.StartNew();

            var clientManager = new PooledRedisClientManager(new[] { "localhost" })
                {
                    
                };
            loop.Times(i =>
                {
                    ThreadPool.QueueUserWorkItem(x =>
                    {
                        try
                        {
                            using (var client = (RedisClient)clientManager.GetClient())
                            {
                                client.IncrementValue("key");
                                var val = client.Get<long>("key");
                                "#{0}, isConnected: {1}".Print(val, true); //client.IsSocketConnected()
                                Thread.Sleep(SleepHoldingClientMs);
                            }
                            Thread.Sleep(SleepAfterReleasingClientMs);
                        }
                        catch (Exception ex)
                        {
                            ex.Message.Print();
                        }
                        finally
                        {
                            remaining--;
                        }
                    });
                });

            while (remaining > 0)
            {
                Thread.Sleep(10);
            }
            "Elapsed time: {0}ms".Print(stopwatch.ElapsedMilliseconds);

            var managerStats = clientManager.GetStats();
            managerStats.PrintDump();
        }
Ejemplo n.º 21
0
 public void UpdateUser(User user)
 {
     using(var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisUser = redis.As<User>();
         if(user.Id != 0) {
             redisUser.DeleteById(user.Id); // Delete old user using ID
             redisUser.Store(user);
         }
     }
 }
Ejemplo n.º 22
0
        public static List<string> ListUsers()
        {
            // list usersnames - put that in please, you can do this
            using (var pooledRedisClient = new PooledRedisClientManager())
            using (var redis = pooledRedisClient.GetClient())
            {
                var set = redis.Sets["Users"];

                List<string> target = set.ToList<string>();
                return target;
            }
        }
 public void CreateComment(Comment comment)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisComment= redis.As<Comment>();
         if(comment.Id == 0)
         {
             comment.Id = (int)redisComment.GetNextSequence();
         }
         redisComment.Store(comment);
     }
 }
Ejemplo n.º 24
0
 protected void Page_Load(object sender, EventArgs e)
 {
     var u = Request["u"];
     var pooledClientManager = new PooledRedisClientManager("localhost");
     var client = pooledClientManager.GetClient();
     var memberRedis = new MemberRedis(client);
     var user = memberRedis.GetByUsername(u);
     Item = user;
     profile.Item = user;
     profile.Xes = user.GetXe(client);
     profile.Nhoms = user.GetNhom(client);
     profile.List = user.GetBlogs(client);
 }
Ejemplo n.º 25
0
 public void CreateArticle(Article article)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisArticles = redis.As<Article>();
         if (article.Id == 0)
         {
             article.Id = (int)redisArticles.GetNextSequence();
         }
         redisArticles.Store(article);
         var set = redis.Sets["Articles"];
         set.Add(article.Id.ToString());
     }
 }
Ejemplo n.º 26
0
 public void CreateOre(Ore ore)
 {
     using (var pooledRedisClient = new PooledRedisClientManager())
     using (var redis = pooledRedisClient.GetClient())
     {
         var redisOres = redis.As<Ore>();
         if(ore.Id == 0)
         {
             ore.Id = (int)redisOres.GetNextSequence();
         }
         redisOres.Store(ore);
         // Misc functions
         redis.SetValue(ore.Name + ":id", ore.Id.ToString());
         var set = redis.Sets["Ores"];
         set.Add(ore.Name);
     }
 }
Ejemplo n.º 27
0
 public void CreateUser(User user)
 {
     using(var pooledRedisClient = new PooledRedisClientManager())
     using(var redis = pooledRedisClient.GetClient())
     {
         var redisUsers = redis.As<User>();
         if(user.Id == 0)
         {
             user.Id = (int)redisUsers.GetNextSequence();
         }
         redisUsers.Store(user);
         // Misc functions
         redis.SetValue(user.UserName + ":id", user.Id.ToString());
         var set = redis.Sets["Users"];
         set.Add(user.UserName);
     }
 }
Ejemplo n.º 28
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var pooledClientManager = new PooledRedisClientManager("localhost");
        var client = pooledClientManager.GetClient();
        var blog = new BlogRedis(client);
        var binhLuanRedis = new BinhLuanRedis(client);
        var memberRedis = new MemberRedis(client);
        var js = new JavaScriptSerializer();

        var startDate = DateTime.Now;
        var id = Request["id"];
        if (string.IsNullOrEmpty(id)) id = "29";
        var item = memberRedis.GetByRowId(new Guid("7788fd2f-850d-4eac-95c3-a8f4ac59335f"));
        rendertext(js.Serialize(item));
        MemberDal.Update(item);

        //Response.Write("<h1>Blog</h1>");
        //foreach (var i in blog.GetAll().GetRange(0,10))
        //{
        //    var item = blog.GetById(Convert.ToInt64(i));
        //    Response.Write(string.Format("<h3>{0}:{1}</h3>", i, item.Ten));
        //    foreach (var b in item.BinhLuanIds)
        //    {
        //        var bluan = binhLuanRedis.GetById(Convert.ToInt32(b));
        //        Response.Write(string.Format("{0}:{1}<br/>", b, bluan.NoiDung));
        //    }
        //}

        //Response.Write("<h1>Member</h1>");
        //var memberRedis = new MemberRedis(client);
        //foreach (var i in memberRedis.GetAll())
        //{
        //    var item = memberRedis.GetById(Convert.ToInt32(i));
        //    Response.Write(string.Format("<h3>{0}:{1}</h3>",i, item.Ten));
        //    Response.Write("<hr/>");
        //    foreach (var b in item.BlogIds)
        //    {
        //        var iblog = blog.GetById(Convert.ToInt64(b));
        //        Response.Write(string.Format("{0}:{1}<br/>", b, iblog.Ten));
        //    }
        //}

        var endDate = DateTime.Now;
        Response.Write(string.Format("{0}",(endDate-startDate).TotalMilliseconds));
    }
Ejemplo n.º 29
0
        public void Put(string key, object value)
        {
            using (var redisManager = new PooledRedisClientManager(_connectionString))
            {
                using (var redis = redisManager.GetClient())
                {
                    
                    var redisCachedObjects = redis.As<RedisCachedObject>();
                    var redisCachedObject = new RedisCachedObject
                    {
                        Id = key,
                        Obj = value
                    };

                    redisCachedObjects.Store(redisCachedObject);
                }
            }
        }
Ejemplo n.º 30
0
        public void DeleteOre(int oreId)
        {
            RedisUserRepository redisUser = new RedisUserRepository();
            using (var pooledRedisClient = new PooledRedisClientManager())
            using (var redis = pooledRedisClient.GetClient())
            {
                var redisOre = redis.As<Ore>();
                Ore inquestion = redis.GetById<Ore>(oreId);
                User author = redisUser.ReadUser(inquestion.AuthorId);
                author.OresAuthored.Remove(inquestion.Name); // We can assume the list is populated because we have an ore to delete
                redisUser.UpdateUser(author);
                redisOre.DeleteById(oreId); // Delete ore using ID

                redis.RemoveEntry(inquestion.Name + ":id");
                var set = redis.Sets["Ores"];
                set.Remove(inquestion.Name);
            }
        }
Ejemplo n.º 31
0
        public void Update(string key, object value)
        {
            using (var redisManager = new PooledRedisClientManager(_connectionString))
            {
                using (var redis = redisManager.GetClient())
                {

                    var redisCachedObjects = redis.As<RedisCachedObject>();
                    RedisCachedObject redisCachedObject = redisCachedObjects.GetById(key);
                    if (redisCachedObject != null)
                    {
                        redisCachedObject.Obj = value;
                        redisCachedObjects.Store(redisCachedObject);
                    }
                }
            }
            
        }
Ejemplo n.º 32
0
        private RedisClient getClient(Int32 port)
        {
            try {
                if (_Manager == null)
                {
                    _Manager = new PooledRedisClientManager(2, 3000, new String[] { _ip + ":" + _RedisLocalPort.ToString() });
                    //_Manager.Start();
                }
                RedisClient client = (RedisClient)_Manager.GetClient();

                if (client.Ping())
                {
                    return(client);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("getClientLocal" + e.Message);
            }
            return(null);
        }