NoSqlѧϰ֮·һredis×öÏûÏ¢¶ÓÁÐ
nosql×î½üºÜ»ð£¬ÎÒÒ²Ñо¿Ñо¿£¬ºÇºÇ£¬½ñÌìÀ´ËµËµredis£¬¼òµ¥µÄÄÇЩÔöɾ¸Ä²é ¾Í²»ËµÁË£¬ÍøÉÏÌ«¶àÁË£¬ÎÒÑо¿ÁËһϣ¬redis×öÏûÏ¢¶ÓÁÐ Ê×ÏÈÊÇÓõÄredisµÄ·¢²¼¶©ÔÄ×öµÄÏûÏ¢¶ÓÁÐʵÏÖÏûÏ¢¶ÓÁУ¬ ²âÊÔÊÇÔÚ±¾»ú×öµÄ£¬redisÔÚÐéÄâ»ú2003µÄϵͳ£¬386MÄڴ棬±¾»úÊÇ8.1µÄϵͳ£¬6gÄÚ´æ ÎÒÊÇÓÃÁË500¸öÏß³ÌÄ£Äâ²¢·¢Ã¿¸öÏ̷߳¢²¼500ÌõÊý¾Ý£¬ÔÚ·¢²¼ÏûÏ¢µÄʱºò£¬·þÎñÆ÷µÄÄÚ´æÕ¼Óò¢²»¸ß£¬cpuÕ¼ÓÐÂÊͦ¸ßµÄ ÕâÊÇÿ¸öÏß³ÌÓõÄʱ¼ä£¬¶¼²î²»¶à3 4Ãë
ÁíÒ»¶ËÓÃsqlserver±£´æÏûÏ¢£¬½á¹û²åµ½24Íò×óÓÒµÄʱºò±¨´íÁË£¬ÔÀ´ÊÇÈÕÖ¾ÎļþÌ«´óÁË£¬³¬¹ý1GÁË£¬¶øÊý¾Ý¿âÎļþÖ»ÓÐ50M£¬Ê±¼ä´ó¸ÅÓÃÁË20¶à·ÖÖÓ°É£¬ ½ñÌìÓÖÓÃmongodbÊÔÁËһϣ¬Ð§ÂʱÈsqlserver¸ßºÜ¶à£¬Ö»ÓÃÁË56Ãë¾Íok£¬¶ÔÁËÎÒ±£´æÏûÏ¢µÄʱºò£¬Ö»ÓÃÒ»¸öÏß³Ì ÏÂÃæÉÏ´úÂë ·¢²¼¶Ë namespace publish { class Program { static void Main(string[] args) { for (int b = 0; b < 500; b++) { Thread thread = new Thread(new ThreadStart(() => { RedisClient redisClient = RedisClientFactory.Instance.CreateRedisClient("192.168.189.134",6379); Stopwatch stopwatch1 = new Stopwatch(); stopwatch1.Start(); for (int i = 0; i < 500; i++) { UserInfo userInfo = new UserInfo(); userInfo.Age = 1000; userInfo.Name = "XX"; userInfo.I = i; userInfo.ThreadId = Thread.CurrentThread.ManagedThreadId; redisClient.Publish("aa",Encoding.Default.GetBytes("XXÔڹ㲥 ƵµÀ£ºaaỊ̈߳º"+Thread.CurrentThread.ManagedThreadId.ToString())); } stopwatch1.Stop(); Console.WriteLine("aaÓÃʱ£º" + stopwatch1.ElapsedMilliseconds + "ºÁÃë"); })); thread.Start(); } Console.ReadKey(); } } class UserInfo { public string Name { get; set; } public int Age { get; set; } public int ThreadId { get; set; } public int I { get; set; } } } ½ÓÊܶˣ¬ class Program { static void Main(string[] args) { RedisClient Redis = RedisClientFactory.Instance.CreateRedisClient("192.168.189.134",6379);//redis·þÎñIPºÍ¶Ë¿Ú Redis.Subscribe(new string[] { "it","aa" }); Thread thread = new Thread(() => { Recode recode = new Recode(); while (true) { byte[][] bb = Redis.ReceiveMessages(); Mongo.Insert(new r() { message1 = Encoding.Default.GetString(bb[0]),message2 = Encoding.Default.GetString(bb[1]),message3 = Encoding.Default.GetString(bb[2]),date=DateTime.Now }); } }); thread.Start(); Console.WriteLine("OK"); Console.ReadKey(); } sqlserver±£´æ·½·¨ public void Insert(string message1,string message2,string message3) { using (SqlConnection connection = new SqlConnection("server=localhost;database=ThreeLayer;Integrated Security=true")) { connection.Open(); using (SqlCommand command = new SqlCommand("insert into redis(Date,Message1,Message2,Message3) values(@d,@m1,@m2,@m3)",connection)) { command.Parameters.Add(new SqlParameter("@d",DateTime.Now)); command.Parameters.Add(new SqlParameter("@m1",message1)); command.Parameters.Add(new SqlParameter("@m2",message2)); command.Parameters.Add(new SqlParameter("@m3",message3)); command.ExecuteScalar(); } } } mongodb±£´æ public static void Insert(r r) { string connStr = ConfigurationManager.AppSettings["MongoServerSettings"];//»ñÈ¡Á¬½Ó×Ö·û´® MongoServer _server = MongoServer.Create(connStr);//´´½¨mongodb·þÎñ¶ÔÓ¦µÄ¶ÔÏó MongoDatabase _db = _server.GetDatabase("test2");//»ñÈ¡Êý¾Ý¿â£¬Èç¹ûûÓУ¬»á×Ô¶¯´´½¨Ò»¸ö var collectionName = typeof(r).Name;//Ö¸¶¨¼¯ºÏµÄÃû×Ö var collection = _db.GetCollection<r>(collectionName);//»ñÈ¡¼¯ºÏ£¬Èç¹û¼¯ºÏ²»´æÔÚ£¬ÄÇôֱ½Ó´´½¨Ò»¸ö collection.Insert(r);//½«Êý¾Ý²åÈëµ½ ¼¯ºÏÀïÃæÈ¥ }½ñÌìµ½´Ë½áÊø£¬»¶ÓС»ï°é£¬ÌáÒâ¼û £¨±à¼£ºÀî´óͬ£© ¡¾ÉùÃ÷¡¿±¾Õ¾ÄÚÈݾùÀ´×ÔÍøÂ磬ÆäÏà¹ØÑÔÂÛ½ö´ú±í×÷Õ߸öÈ˹۵㣬²»´ú±í±¾Õ¾Á¢³¡¡£ÈôÎÞÒâÇÖ·¸µ½ÄúµÄȨÀû£¬Ç뼰ʱÓëÁªÏµÕ¾³¤É¾³ýÏà¹ØÄÚÈÝ! |
- c# ¨C ¶¨Ê±Æ÷ÊÇ·ñ´´½¨Ò»¸öÐÂỊ̈߳¿
- swift ¨C BDD²âÊÔÖеÄMoya´æ¸ùÇëÇó
- ruby-on-rails-3 ¨C ÔÚRails 3ÖÐÍÆ¼öµÄI18nµ¼¹ì·½Ê½ÊÇʲô
- ¡¾Cocos2d-x¡¿ÊµÏÖ×ÊÔ´ÈȸüÐÂ
- ¡¾µÚ25ƪ¡¿Í¨¹ýorg.json½áºÏHttpClient½âÎöµÄ°Ù¶ÈAPI¸½½üµÄ
- RÓïÑÔ¡ª¶¹°êËÑË÷µçÓ°
- ÒÀÀµºÍ¹ØÁªµÄÇø±ð
- °²×°swftools+openoffice+unoconv
- SQLite3 CÓïÑÔAPIÈëÃÅ
- Éè¼ÆÄ£Ê½Áù´óÔÔò--ÀïÊÏ´ú»»ÔÔò