Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
ASP.NET Redis ¿ª·¢
 
×÷Õߣº×ÞÇí¿¡ À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ 2015-5-29
  3193  次浏览      27
 

Îļþ²¢·¢(ÈÕÖ¾´¦Àí)--¶ÓÁÐ--Redis+Log4Net

Redis¼ò½é

RedisÊÇÒ»¸ö¿ªÔ´µÄ£¬Ê¹ÓÃCÓïÑÔ±àд£¬ÃæÏò¡°¼ü/Öµ¡±¶ÔÀàÐÍÊý¾ÝµÄ·Ö²¼Ê½NoSQLÊý¾Ý¿âϵͳ£¬ÌصãÊǸßÐÔÄÜ£¬³Ö¾Ã´æ´¢£¬ÊÊÓ¦¸ß²¢·¢µÄÓ¦Óó¡¾°¡£Redis´¿´âΪӦÓöø²úÉú£¬ËüÊÇÒ»¸ö¸ßÐÔÄܵÄkey-valueÊý¾Ý¿â,²¢ÇÒÌṩÁ˶àÖÖÓïÑÔµÄAPI

ÐÔÄܲâÊÔ½á¹û±íʾSET²Ù×÷ÿÃëÖÓ¿É´ï110000´Î£¬GET²Ù×÷ÿÃë81000´Î£¨µ±È»²»Í¬µÄ·þÎñÆ÷ÅäÖÃÐÔÄܲ»Í¬£©¡£

redisĿǰÌṩÎåÖÖÊý¾ÝÀàÐÍ£ºstring(×Ö·û´®),list£¨Á´±í£©, Hash£¨¹þÏ££©,set£¨¼¯ºÏ£©¼°zset(sorted set) £¨ÓÐÐò¼¯ºÏ£©

RedisÓëMemcachedµÄ±È½Ï.

1.MemcachedÊǶàỊ̈߳¬¶øRedisʹÓõ¥Ïß³Ì.

2.MemcachedʹÓÃÔ¤·ÖÅäµÄÄÚ´æ³ØµÄ·½Ê½£¬RedisʹÓÃÏÖ³¡ÉêÇëÄÚ´æµÄ·½Ê½À´´æ´¢Êý¾Ý£¬²¢ÇÒ¿ÉÒÔÅäÖÃÐéÄâÄÚ´æ¡£

3.Redis¿ÉÒÔʵÏֳ־û¯£¬Ö÷´Ó¸´ÖÆ£¬ÊµÏÖ¹ÊÕϻָ´¡£

4.MemcachedÖ»ÊǼòµ¥µÄkeyÓëvalue,µ«ÊÇRedisÖ§³ÖÊý¾ÝÀàÐͱȽ϶ࡣ

RedisµÄ´æ´¢·ÖΪÄÚ´æ´æ´¢¡¢´ÅÅÌ´æ´¢ .´ÓÕâÒ»µã£¬Ò²ËµÃ÷ÁËRedisÓëMemcachedÊÇÓÐÇø±ðµÄ¡£Redis ÓëMemcachedÒ»Ñù£¬ÎªÁ˱£Ö¤Ð§ÂÊ£¬Êý¾Ý¶¼ÊÇ»º´æÔÚÄÚ´æÖС£Çø±ðµÄÊÇredis»áÖÜÆÚÐԵİѸüеÄÊý¾ÝдÈë´ÅÅÌ»òÕß°ÑÐÞ¸Ä ²Ù×÷дÈë×·¼ÓµÄ¼Ç¼Îļþ£¬²¢ÇÒÔÚ´Ë»ù´¡ÉÏʵÏÖÁËmaster-slave(Ö÷´Ó)ͬ²½¡£

RedisÓÐÁ½ÖÖ´æ´¢·½Ê½£¬Ä¬ÈÏÊÇsnapshot·½Ê½£¬ÊµÏÖ·½·¨ÊǶ¨Ê±½«ÄÚ´æµÄ¿ìÕÕ(snapshot)³Ö¾Ã»¯µ½Ó²ÅÌ£¬ÕâÖÖ·½·¨È±µãÊdz־û¯Ö®ºóÈç¹û³öÏÖcrashÔò»á¶ªÊ§Ò»¶ÎÊý¾Ý¡£Òò´ËÔÚÍêÃÀÖ÷ÒåÕßµÄÍÆ¶¯ÏÂ×÷ÕßÔö¼ÓÁËaof·½Ê½¡£aof¼´append only mode£¬ÔÚдÈëÄÚ´æÊý¾ÝµÄͬʱ½«²Ù×÷ÃüÁî±£´æµ½ÈÕÖ¾Îļþ£¬ÔÚÒ»¸ö²¢·¢¸ü¸ÄÉÏÍòµÄϵͳÖУ¬ÃüÁîÈÕÖ¾ÊÇÒ»¸ö·Ç³£ÅÓ´óµÄÊý¾Ý£¬¹ÜÀíά»¤³É±¾·Ç³£¸ß£¬»Ö¸´Öؽ¨Ê±¼ä»á·Ç³£³¤£¬ÕâÑùµ¼ÖÂʧȥaof¸ß¿ÉÓÃÐÔ±¾Òâ¡£ÁíÍâ¸üÖØÒªµÄÊÇRedisÊÇÒ»¸öÄÚ´æÊý¾Ý½á¹¹Ä£ÐÍ£¬ËùÓеÄÓÅÊÆ¶¼Êǽ¨Á¢ÔÚ¶ÔÄڴ渴ÔÓÊý¾Ý½á¹¹¸ßЧµÄÔ­×Ó²Ù×÷ÉÏ£¬ÕâÑù¾Í¿´³öaofÊÇÒ»¸ö·Ç³£²»Ð­µ÷µÄ²¿·Ö¡£

ÆäʵaofÄ¿µÄÖ÷ÒªÊÇÊý¾Ý¿É¿¿ÐÔ¼°¸ß¿ÉÓÃÐÔ.

Redis°²×°

ÎÄÕµÄ×îºóÎÒÌṩÁËÏÂÔØ°ü£¬µ±È»ÄãÒ²¿ÉÒÔÈ¥¹ÙÍøÏÂÔØ×îа汾µÄRedis https://github.com/dmajkic/redis/downloads

½«·þÎñ³ÌÐò¿½±´µ½Ò»¸ö´ÅÅÌÉϵÄĿ¼£¬ÈçÏÂͼ£º

Îļþ˵Ã÷£º

redis-server.exe£º·þÎñ³ÌÐò

redis-check-dump.exe£º±¾µØÊý¾Ý¿â¼ì²é

redis-check-aof.exe£º¸üÐÂÈÕÖ¾¼ì²é

redis-benchmark.exe£ºÐÔÄܲâÊÔ£¬ÓÃÒÔÄ£ÄâͬʱÓÉN¸ö¿Í»§¶Ë·¢ËÍM¸ö SETs/GETs ²éѯ.

redis-cli.exe£º ·þÎñ¶Ë¿ªÆôºó£¬ÎÒÃǵĿͻ§¶Ë¾Í¿ÉÒÔÊäÈë¸÷ÖÖÃüÁî²âÊÔÁË

1¡¢´ò¿ªÒ»¸öcmd´°¿Ú£¬Ê¹ÓÃcdÃüÁîÇл»µ½Ö¸¶¨Ä¿Â¼£¨F:\Redis£©ÔËÐÐ redis-server.exe redis.conf

2¡¢ÖØÐ´ò¿ªÒ»¸öcmd´°¿Ú£¬Ê¹ÓÃcdÃüÁîÇл»µ½Ö¸¶¨Ä¿Â¼£¨F:\Redis£©ÔËÐÐ redis-cli.exe -h 127.0.0.1 -p 6379£¬ÆäÖÐ 127.0.0.1ÊDZ¾µØip£¬6379ÊÇredis·þÎñ¶ËµÄĬÈÏ¶Ë¿Ú £¨ÕâÑù¿ÉÒÔ¿ªÆôÒ»¸ö¿Í»§¶Ë³ÌÐò½øÐÐÌØÊâÖ¸ÁîµÄ²âÊÔ£©.

¿ÉÒÔ½«´Ë·þÎñÉèÖÃΪwindowsϵͳ·þÎñ£¬ÏÂÔØRedis·þÎñ°²×°Èí¼þ£¬°²×°¼´¿É¡££¨https://github.com/rgl/redis/downloads £©

°²×°Íê³ÉRedis·þÎñºó£¬ÎÒÃÇ»áÔÚ¼ÆËã»úµÄ·þÎñÀïÃæ¿´µ½

È»ºóÆô¶¯´Ë·þÎñ¡£

½ÓÏÂÀ´ÔÚʹÓÃRedisʱ£¬»¹ÐèÒªÏÂÔØC#Çý¶¯£¨Ò²¾ÍÊÇC#¿ª·¢¿â£©,ÈçÏÂͼ£º

Redis³£ÓÃÊý¾ÝÀàÐÍ

ʹÓÃRedis£¬ÎÒÃDz»ÓÃÔÚÃæ¶Ô¹¦Äܵ¥µ÷µÄÊý¾Ý¿âʱ£¬°Ñ¾«Á¦·ÅÔÚÈçºÎ°Ñ´óÏó·Å½ø±ùÏäÕâÑùµÄÎÊÌâÉÏ£¬¶øÊÇÀûÓÃRedisÁé»î¶à±äµÄÊý¾Ý½á¹¹ºÍÊý¾Ý²Ù×÷£¬Îª²»Í¬µÄ´óÏó¹¹½¨²»Í¬µÄ±ùÏä¡£

Redis×îΪ³£ÓõÄÊý¾ÝÀàÐÍÖ÷ÒªÓÐÒÔÏÂÎåÖÖ£º

String

Hash

List

Set

Sorted set

StringÀàÐÍ

StringÊÇ×î³£ÓõÄÒ»ÖÖÊý¾ÝÀàÐÍ£¬ÆÕͨµÄkey/value´æ´¢¶¼¿ÉÒÔ¹éΪ´ËÀà ¡£Ò»¸öKey¶ÔÓ¦Ò»¸öValue,stringÀàÐÍÊǶþ½øÖư²È«µÄ¡£RedisµÄstring¿ÉÒÔ°üº¬ÈκÎÊý¾Ý£¬±ÈÈçjpgͼƬ(Éú³É¶þ½øÖÆ)»òÕßÐòÁл¯µÄ¶ÔÏó¡£»ù±¾²Ù×÷ÈçÏ£º

var client = new RedisClient("127.0.0.1", 6379);  
2. client.Set<int>("pwd", 1111);
3. int pwd=client.Get<int>("pwd");
4. Console.WriteLine(pwd);
5.
6.UserInfo userInfo = new UserInfo() { UserName = "zhangsan", UserPwd = "1111" }; <span style="font-family:ËÎÌå;">//</span>(µ×²ãʹÓÃjsonÐòÁл¯ )
7.client.Set<UserInfo>("userInfo", userInfo);
8.UserInfo user=client.Get<UserInfo>("userInfo");
9.Console.WriteLine(user.UserName);
10.
11.List<UserInfo> list = new List<UserInfo>() { new UserInfo() {UserName="lisi",UserPwd="111"},new UserInfo(){UserName="wangwu",UserPwd="123"} };
12.client.Set<List<UserInfo>>("list",list);
13.List<UserInfo>userInfoList=client.Get<List<UserInfo>>("list");
14.
15. foreach (UserInfo userInfo in userInfoList)
16. {
17. Console.WriteLine(userInfo.UserName);
18. }

HashÀàÐÍ

HashÊÇÒ»¸östring ÀàÐ͵ÄfieldºÍvalueµÄÓ³Éä±í¡£hashÌØ±ðÊʺϴ洢¶ÔÏó¡£Ïà¶ÔÓÚ½«¶ÔÏóµÄÿ¸ö×ֶδæ³Éµ¥¸östring ÀàÐÍ¡£Ò»¸ö¶ÔÏó´æ´¢ÔÚhashÀàÐÍÖлáÕ¼ÓøüÉÙµÄÄڴ棬²¢ÇÒ¿ÉÒÔ¸ü·½±ãµÄ´æÈ¡Õû¸ö¶ÔÏó¡£

×÷Ϊһ¸ökey value´æÔÚ£¬ºÜ¶à¿ª·¢Õß×ÔÈ»µÄʹÓÃset/get·½Ê½À´Ê¹ÓÃRedis£¬Êµ¼ÊÉÏÕâ²¢²»ÊÇ×îÓÅ»¯µÄʹÓ÷½·¨¡£ÓÈÆäÔÚδÆôÓÃVMÇé¿öÏ£¬RedisÈ«²¿Êý¾ÝÐèÒª·ÅÈëÄڴ棬½ÚÔ¼ÄÚ´æÓÈÆäÖØÒª.

Ôö¼ÓÁËÐòÁл¯/·´ÐòÁл¯µÄ¿ªÏú£¬²¢ÇÒÔÚÐèÒªÐÞ¸ÄÆäÖÐÒ»ÏîÐÅϢʱ£¬ÐèÒª°ÑÕû¸ö¶ÔÏóÈ¡»Ø

RedisΪµ¥½ø³Ìµ¥Ïß³Ìģʽ£¬²ÉÓöÓÁÐģʽ½«²¢·¢·ÃÎʱäΪ´®ÐзÃÎÊ¡£Redis±¾ÉíûÓÐËøµÄ¸ÅÄRedis¶ÔÓÚ¶à¸ö¿Í»§¶ËÁ¬½Ó²¢²»´æÔÚ¾ºÕù .. redisÊǸöµ¥Ï̵߳ijÌÐò£¬ÎªÊ²Ã´»áÕâô¿ìÄØ ?

1¡¢´óÁ¿Ï̵߳¼ÖµÄÏß³ÌÇл»¿ªÏú

2¡¢Ëø¡¢

3¡¢·Ç±ØÒªµÄÄڴ濽±´¡£

4. Redis¶àÑùµÄÊý¾Ý½á¹¹£¬Ã¿Öֽṹֻ×ö×Ô¼º°®×öµÄÊÂ.

Hash¶ÔÓ¦µÄValueÄÚ²¿Êµ¼Ê¾ÍÊÇÒ»¸öHashMap,ʵ¼ÊÕâÀï»áÓÐ2ÖÖ²»Í¬ÊµÏÖ£¬Õâ¸öHashMapµÄ³ÉÔ±±È½ÏÉÙʱ,RedisΪÁ˽ÚÊ¡ÄÚ´æ»á²ÉÓÃÀàËÆÒ»Î¬Êý×éµÄ·½Ê½À´½ô´Õ´æ´¢£¬¶ø²»»á²ÉÓÃÕæÕýµÄHashMap½á¹¹£¬µ±³ÉÔ±Á¿Ôö´óʱ»á×Ô¶¯×ª³ÉÕæÕýµÄHashMap.

KeyÈÔÈ»ÊÇÓû§ID, valueÊÇÒ»¸öMap£¬Õâ¸öMapµÄkeyÊdzÉÔ±µÄÊôÐÔÃû£¬valueÊÇÊôÐÔÖµ£¬ÕâÑù¶ÔÊý¾ÝµÄÐ޸ĺʹæÈ¡¶¼¿ÉÒÔÖ±½Óͨ¹ýÆäÄÚ²¿MapµÄKey(RedisÀï³ÆÄÚ²¿MapµÄkeyΪfield), Ò²¾ÍÊÇͨ¹ý key(Óû§ID) + field(ÊôÐÔ±êÇ©) ¾Í¿ÉÒÔ²Ù×÷¶ÔÓ¦ÊôÐÔÊý¾ÝÁË£¬¼È²»ÐèÒªÖØ¸´´æ´¢Êý¾Ý£¬Ò²²»»á´øÀ´ÐòÁл¯ºÍ·´ÐòÁл¯

1.client.SetEntryInHash("user", "userInfo", "aaaaaaaaaa");  
2.List<string> list = client.GetHashKeys("user");
3.List<string> list = client.GetHashValues("userInfo");//»ñȡֵ
4.List<string> list = client.GetAllKeys();//»ñÈ¡ËùÓеÄkey¡£

RedisΪ²»Í¬Êý¾ÝÀàÐÍ·Ö±ðÌṩÁËÒ»×é²ÎÊýÀ´¿ØÖÆÄÚ´æÊ¹Óã¬ÎÒÃÇÔÚÇ°ÃæÌáµ½¹ýµÄRedis HashµÄvalueÄÚ²¿ÊÇÒ»¸ö

HashMap,Èç¹û¸ÃMapµÄ³ÉÔ±±È½ÏÉÙ£¬Ôò»á²ÉÓÃһάÊý×éµÄ·½Ê½À´½ô´Õ´æ´¢¸ÃMAP£¬Ê¡È¥ÁË´óÁ¿Ö¸ÕëµÄÄڴ濪Ïú£¬Õâ¸ö²ÎÊýÔÚredis,confÅäÖÃÎļþÖÐÏÂÃæ2Ïî¡£

Hash-max-zipmap-entries 64

Hash-max-zipmap-value 512.

º¬ÒåÊǵ±valueÕâ¸öMapÄÚ²¿²»³¬¹ý¶àÉÙ¸ö³ÉԱʱ»á²ÉÓÃÏßÐÔ½ô´Õ¸ñʽ´æ´¢£¬Ä¬ÈÏÊÇ64£¬¼´valueÄÚ²¿ÓÐ64¸öÒÔϵijÉÔ±¾ÍÊÇʹÓÃÏßÐÔ½ô´Õ´æ´¢£¬³¬¹ý¸ÃÖµ×Ô¶¯×ª³ÉÕæÕýµÄHashMap.

Hash-max-zipmap-valueº¬ÒåÊǵ±valueÕâ¸öMAPÄÚ²¿µÄÿ¸ö³ÉÔ±Öµ³¤¶È²»³¬¹ý¶àÉÙ×ֽھͻá²ÉÓÃÏßÐÔ½ô´Õ´æ´¢À´½ÚÊ¡¿Õ¼ä¡£ÒÔÉÏÁ½¸öÌõ¼þÈÎÒâÒ»¸öÌõ¼þ³¬¹ýÉèÖÃÖµ¶¼»áת³ÉÕæÕýµÄHashMap£¬Ò²¾Í²»»áÔÙ½ÚÊ¡ÄÚ´æÁË£¬Õâ¸öÖµÉèÖöàÉÙÐèҪȨºâ£¬HashMapµÄÓÅÊÆ¾ÍÊDzéÕҺͲÙ×÷ʱ¼ä¶Ì¡£

Ò»¸ökey¿É¶ÔÓ¦¶à¸öfield£¬Ò»¸öfield¶ÔÓ¦Ò»¸övalue

ÕâÀïͬʱÐèҪעÒ⣬RedisÌṩÁ˽ӿÚ(hgetall)¿ÉÒÔÖ±½ÓÈ¡µ½È«²¿µÄÊôÐÔÊý¾Ý,µ«ÊÇÈç¹ûÄÚ²¿MapµÄ³ÉÔ±ºÜ¶à£¬ÄÇÃ´Éæ¼°µ½±éÀúÕû¸öÄÚ²¿MapµÄ²Ù×÷£¬ÓÉÓÚRedisµ¥Ïß³ÌÄ£Ð͵ÄÔµ¹Ê£¬Õâ¸ö±éÀú²Ù×÷¿ÉÄÜ»á±È½ÏºÄʱ£¬¶øÁíÆäËü¿Í»§¶ËµÄÇëÇóÍêÈ«²»ÏìÓ¦£¬ÕâµãÐèÒª¸ñÍâ×¢Òâ

½¨ÒéʹÓöÔÏóÀà±ðºÍID¹¹³É¼üÃû£¬Ê¹ÓÃ×ֶαíʾ¶ÔÏóÊôÐÔ£¬×Ö

¶ÎÖµ´æ´¢ÊôÐÔÖµ£¬ÀýÈ磺car:2 price 500

ListÀàÐÍ

listÊÇÒ»¸öÁ´±í½á¹¹£¬Ö÷Òª¹¦ÄÜÊÇpush,pop,»ñȡһ¸ö·¶Î§µÄËùÓеÄÖµµÈ£¬²Ù×÷ÖÐkeyÀí½âΪÁ´±íÃû×Ö¡£ RedisµÄlistÀàÐÍÆäʵ¾ÍÊÇÒ»¸öÿ¸ö×ÓÔªËØ¶¼ÊÇstringÀàÐ͵ÄË«ÏòÁ´±í¡£ÎÒÃÇ¿ÉÒÔͨ¹ýpush,pop²Ù×÷´ÓÁ´±íµÄÍ·²¿»òÕßβ²¿Ìí¼Óɾ³ýÔªËØ£¬ÕâÑùlist¼È¿ÉÒÔ×÷Ϊջ£¬ÓÖ¿ÉÒÔ×÷Ϊ¶ÓÁС£Redis listµÄʵÏÖΪһ¸öË«ÏòÁ´±í£¬¼´¿ÉÒÔÖ§³Ö·´Ïò²éÕҺͱéÀú£¬¸ü·½±ã²Ù×÷£¬²»¹ý´øÀ´Á˲¿·Ö¶îÍâµÄÄڴ濪Ïú£¬RedisÄÚ²¿µÄºÜ¶àʵÏÖ£¬°üÀ¨·¢ËÍ»º³å¶ÓÁеÈÒ²¶¼ÊÇÓõÄÕâ¸öÊý¾Ý½á¹¹

//¶ÓÁÐʹÓà  
2.
3. client.EnqueueItemOnList("name", "zhangsan");
4. client.EnqueueItemOnList("name", "lisi");
5. int count= client.GetListCount("name");
6. for (int i = 0; i < count; i++)
7. {
8. Console.WriteLine(client.DequeueItemFromList("name"));
9. }
10.
11.//ջʹÓÃ
12. client.PushItemToList("name2", "wangwu");
13. client.PushItemToList("name2", "maliu");
14. int count = client.GetListCount("name2");
15. for (int i = 0; i < count; i++)
16. {
17. Console.WriteLine(client.PopItemFromList("name2"));
18. }

SetÀàÐÍ

ËüÊÇstringÀàÐ͵ÄÎÞÐò¼¯ºÏ¡£setÊÇͨ¹ýhash tableʵÏֵģ¬Ìí¼Ó£¬É¾³ýºÍ²éÕÒ,¶Ô¼¯ºÏÎÒÃÇ¿ÉÒÔÈ¡²¢¼¯£¬½»¼¯£¬²î¼¯.

//¶ÔSetÀàÐͽøÐвÙ×÷  
2. client.AddItemToSet("a3", "ddd");
3. client.AddItemToSet("a3", "ccc");
4. client.AddItemToSet("a3", "tttt");
5. client.AddItemToSet("a3", "sssh");
6. client.AddItemToSet("a3", "hhhh");
7. System.Collections.Generic.HashSet<string>hashset=client.GetAllItemsFromSet("a3");
8. foreach (string str in hashset)
9. {
10. Console.WriteLine(str);
11. }
12.
13.//Çó²¢¼¯
14.client.AddItemToSet("a3", "ddd");
15. client.AddItemToSet("a3", "ccc");
16. client.AddItemToSet("a3", "tttt");
17. client.AddItemToSet("a3", "sssh");
18. client.AddItemToSet("a3", "hhhh");
19. client.AddItemToSet("a4", "hhhh");
20. client.AddItemToSet("a4", "h777");
21. System.Collections.Generic.HashSet<string>hashset= client.GetUnionFromSets(new string[] { "a3","a4"});
22.
23. foreach (string str in hashset)
24. {
25. Console.WriteLine(str);
26. }
27.
28.//Çó½»¼¯
29. System.Collections.Generic.HashSet<string> hashset = client.GetIntersectFromSets(new string[] { ¡°a3¡±, ¡°a4¡± });
30.
31.//Çó²î¼¯.
32. System.Collections.Generic.HashSet<string> hashset = client.GetDifferencesFromSet("a3",new string[] { "a4"});

·µ»Ø´æÔÚÓÚµÚÒ»¸ö¼¯ºÏ£¬µ«ÊDz»´æÔÚÓÚÆäËû¼¯ºÏµÄÊý¾Ý¡£²î¼¯

Sorted SetÀàÐÍ

sorted set ÊÇsetµÄÒ»¸öÉý¼¶°æ±¾£¬ËüÔÚsetµÄ»ù´¡ÉÏÔö¼ÓÁËÒ»¸ö˳ÐòµÄÊôÐÔ£¬ÕâÒ»ÊôÐÔÔÚÌí¼ÓÐÞ¸Ä .ÔªËØµÄʱºò¿ÉÒÔÖ¸¶¨£¬Ã¿´ÎÖ¸¶¨ºó£¬zset(±íʾÓÐÐò¼¯ºÏ)»á×Ô¶¯ÖØÐ°´ÐµÄÖµµ÷Õû˳Ðò¡£¿ÉÒÔÀí½âΪÓÐÁÐµÄ±í£¬Ò»Áдæ value,Ò»ÁдæË³Ðò¡£²Ù×÷ÖÐkeyÀí½âΪzsetµÄÃû×Ö.

Redis sorted setµÄʹÓó¡¾°ÓësetÀàËÆ£¬Çø±ðÊÇset²»ÊÇ×Ô¶¯ÓÐÐòµÄ£¬¶øsorted set¿ÉÒÔͨ¹ýÓû§¶îÍâÌṩһ¸öÓÅÏȼ¶(score)µÄ²ÎÊýÀ´Îª³ÉÔ±ÅÅÐò£¬²¢ÇÒÊDzåÈëÓÐÐòµÄ£¬¼´×Ô¶¯ÅÅÐò¡£µ±ÄãÐèÒªÒ»¸öÓÐÐòµÄ²¢ÇÒ²»Öظ´µÄ¼¯ºÏÁÐ±í£¬ÄÇô¿ÉÒÔÑ¡Ôñsorted setÊý¾Ý½á¹¹£¬

1.client.AddItemToSortedSet("a5", "ffff");  
2. client.AddItemToSortedSet("a5","bbbb");
3. client.AddItemToSortedSet("a5", "gggg");
4. client.AddItemToSortedSet("a5", "cccc");
5. client.AddItemToSortedSet("a5", "waaa");
6. System.Collections.Generic.List<string> list =client.GetAllItemsFromSortedSet("a5");
7. foreach (string str in list)
8. {
9. Console.WriteLine(str);
10. }
   
3193 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
 
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
 
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

ʹÓÃdecj¼ò»¯Webǰ¶Ë¿ª·¢
Web¿ª·¢¿ò¼ÜÐγÉÖ®ÂÃ
¸üÓÐЧÂʵÄʹÓÃVisual Studio
MVP+WCF+Èý²ã½á¹¹´î½¨¿ò¼Ü
ASP.NETÔËÐлúÖÆÇ³Îö¡¾Í¼½â¡¿
±àд¸üºÃµÄC#´úÂë
10¸öVisual Studio¿ª·¢µ÷ÊÔ¼¼ÇÉ

.NET¿ò¼ÜÓë·Ö²¼Ê½Ó¦Óüܹ¹Éè¼Æ
.NET & WPF & WCFÓ¦Óÿª·¢
UML&.Net¼Ü¹¹Éè¼Æ
COM×é¼þ¿ª·¢
.NetÓ¦Óÿª·¢
InstallShield

ÈÕÕÕ¸Û .NET Framework & WCFÓ¦Óÿª·¢
Éñ»ªÐÅÏ¢ .NETµ¥Ôª²âÊÔ
±±¾© .NetÓ¦ÓÃÈí¼þϵͳ¼Ü¹¹
̨´ïµç×Ó .NET³ÌÐòÉè¼ÆÓ뿪·¢
ÈüÃÅÌú¿Ë C#Óë.NET¼Ü¹¹Éè¼Æ
¹ã¶«ºËµç .NetÓ¦ÓÃϵͳ¼Ü¹¹