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ÈëÃÅ
- Éè¼ÆÄ£Ê½Áù´óÔÔò--ÀïÊÏ´ú»»ÔÔò
