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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Redis ¿´ÍêÕâÆªÎÄÕ»¹²»Àí½âredisËãÎÒÊä
 
×÷Õߣº³ÂÌÁ¹ØÄÄ߸
  1745  次浏览      27
2020-4-15
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜRedisһЩ¸ÅÄî £¬Ê²Ã´ÊÇRedis £¬RedisÃüÁî²Ù×÷ £¬³Ö¾Ã»¯ £¬Java²Ù×÷Redis £¬Ï£Íû¶ÔÄúÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

Redis

redisÊÇÒ»¿î¸ßÐÔÄܵÄNOSQLϵÁеķǹØÏµÐÍÊý¾Ý¿â¡£

һЩ¸ÅÄî

ʲôÊÇNOSQL

NoSQL(NoSQL = Not Only SQL)£¬Òâ¼´¡°²»½ö½öÊÇSQL¡±£¬ÊÇÒ»ÏîȫеÄÊý¾Ý¿âÀíÄ·ºÖ¸·Ç¹ØÏµÐ͵ÄÊý¾Ý¿â¡£

Ëæ×Å»¥ÁªÍøweb2.0ÍøÕ¾µÄÐËÆð£¬´«Í³µÄ¹ØÏµÊý¾Ý¿âÔÚÓ¦¸¶web2.0ÍøÕ¾£¬ÌرðÊdz¬´ó¹æÄ£ºÍ¸ß²¢·¢µÄSNSÀàÐ͵Äweb2.0´¿¶¯Ì¬ÍøÕ¾ÒѾ­ÏÔµÃÁ¦²»´ÓÐÄ£¬±©Â¶Á˺ܶàÄÑÒÔ¿Ë·þµÄÎÊÌ⣬¶ø·Ç¹ØÏµÐ͵ÄÊý¾Ý¿âÔòÓÉÓÚÆä±¾ÉíµÄÌØµãµÃµ½Á˷dz£Ñ¸Ëٵķ¢Õ¹¡£NoSQLÊý¾Ý¿âµÄ²úÉú¾ÍÊÇΪÁ˽â¾ö´ó¹æÄ£Êý¾Ý¼¯ºÏ¶àÖØÊý¾ÝÖÖÀà´øÀ´µÄÌôÕ½£¬ÓÈÆäÊÇ´óÊý¾ÝÓ¦ÓÃÄÑÌâ¡£

NOSQLºÍ¹ØÏµÐÍÊý¾Ý¿â±È½Ï

Óŵ㣺

³É±¾£ºnosqlÊý¾Ý¿â¼òµ¥Òײ¿Ê𣬻ù±¾¶¼ÊÇ¿ªÔ´Èí¼þ£¬²»ÐèÒªÏñʹÓÃoracleÄÇÑù»¨·Ñ´óÁ¿³É±¾¹ºÂòʹÓã¬Ïà±È¹ØÏµÐÍÊý¾Ý¿â¼Û¸ñ±ãÒË¡£

²éѯËÙ¶È£ºnosqlÊý¾Ý¿â½«Êý¾Ý´æ´¢ÓÚ»º´æÖ®ÖУ¬¹ØÏµÐÍÊý¾Ý¿â½«Êý¾Ý´æ´¢ÔÚÓ²ÅÌÖУ¬×ÔÈ»²éѯËÙ¶ÈÔ¶²»¼°nosqlÊý¾Ý¿â¡£

´æ´¢Êý¾ÝµÄ¸ñʽ£ºnosqlµÄ´æ´¢¸ñʽÊÇkey,valueÐÎʽ¡¢ÎĵµÐÎʽ¡¢Í¼Æ¬ÐÎʽµÈµÈ£¬ËùÒÔ¿ÉÒÔ´æ´¢»ù´¡ÀàÐÍÒÔ¼°¶ÔÏó»òÕßÊǼ¯ºÏµÈ¸÷ÖÖ¸ñʽ£¬¶øÊý¾Ý¿âÔòÖ»Ö§³Ö»ù´¡ÀàÐÍ¡£

À©Õ¹ÐÔ£º¹ØÏµÐÍÊý¾Ý¿âÓÐÀàËÆjoinÕâÑùµÄ¶à±í²éѯ»úÖÆµÄÏÞÖÆµ¼ÖÂÀ©Õ¹ºÜ¼èÄÑ¡£

ȱµã£º

ά»¤µÄ¹¤¾ßºÍ×ÊÁÏÓÐÏÞ£¬ÒòΪnosqlÊÇÊôÓÚеļ¼Êõ£¬²»Äܺ͹ØÏµÐÍÊý¾Ý¿â10¼¸ÄêµÄ¼¼ÊõͬÈÕ¶øÓï¡£

²»Ìṩ¶ÔsqlµÄÖ§³Ö£¬Èç¹û²»Ö§³ÖsqlÕâÑùµÄ¹¤Òµ±ê×¼£¬½«²úÉúÒ»¶¨Óû§µÄѧϰºÍʹÓóɱ¾¡£

²»Ìṩ¹ØÏµÐÍÊý¾Ý¿â¶ÔÊÂÎñµÄ´¦Àí¡£

·Ç¹ØÏµÐÍÊý¾Ý¿âµÄÓÅÊÆ£º

ÐÔÄÜNOSQLÊÇ»ùÓÚ¼üÖµ¶ÔµÄ£¬¿ÉÒÔÏëÏó³É±íÖеÄÖ÷¼üºÍÖµµÄ¶ÔÓ¦¹ØÏµ£¬¶øÇÒ²»ÐèÒª¾­¹ýSQL²ãµÄ½âÎö£¬ËùÒÔÐÔÄܷdz£¸ß¡£

¿ÉÀ©Õ¹ÐÔͬÑùÒ²ÊÇÒòΪ»ùÓÚ¼üÖµ¶Ô£¬Êý¾ÝÖ®¼äûÓÐñîºÏÐÔ£¬ËùÒԷdz£ÈÝÒ×ˮƽÀ©Õ¹¡£

¹ØÏµÐÍÊý¾Ý¿âµÄÓÅÊÆ£º

¸´ÔÓ²éѯ¿ÉÒÔÓÃSQLÓï¾ä·½±ãµÄÔÚÒ»¸ö±íÒÔ¼°¶à¸ö±íÖ®¼ä×ö·Ç³£¸´ÔÓµÄÊý¾Ý²éѯ¡£

ÊÂÎñÖ§³ÖʹµÃ¶ÔÓÚ°²È«ÐÔÄܸܺߵÄÊý¾Ý·ÃÎÊÒªÇóµÃÒÔʵÏÖ¡£¶ÔÓÚÕâÁ½ÀàÊý¾Ý¿â£¬¶Ô·½µÄÓÅÊÆ¾ÍÊÇ×Ô¼ºµÄÈõÊÆ£¬·´Ö®ÒàÈ»¡£

×ܽá

¹ØÏµÐÍÊý¾Ý¿âÓëNoSQLÊý¾Ý¿â²¢·Ç¶ÔÁ¢¶øÊÇ»¥²¹µÄ¹ØÏµ£¬¼´Í¨³£Çé¿öÏÂʹÓùØÏµÐÍÊý¾Ý¿â£¬ÔÚÊʺÏʹÓÃNoSQLµÄʱºòʹÓÃNoSQLÊý¾Ý¿â£¬ÈÃNoSQLÊý¾Ý¿â¶Ô¹ØÏµÐÍÊý¾Ý¿âµÄ²»×ã½øÐÐÃÖ²¹¡£Ò»°ã»á½«Êý¾Ý´æ´¢ÔÚ¹ØÏµÐÍÊý¾Ý¿âÖУ¬ÔÚnosqlÊý¾Ý¿âÖлº´æ±¸·Ý´æ´¢¹ØÏµÐÍÊý¾Ý¿âµÄÊý¾Ý¡£

Ö÷Á÷µÄNOSQL²úÆ·

¼üÖµ(Key-Value)´æ´¢Êý¾Ý¿â

Ïà¹Ø²úÆ·£º Tokyo Cabinet/Tyrant¡¢Redis¡¢Voldemort¡¢Berkeley DB

µäÐÍÓ¦Ó㺠ÄÚÈÝ»º´æ£¬Ö÷ÒªÓÃÓÚ´¦Àí´óÁ¿Êý¾ÝµÄ¸ß·ÃÎʸºÔØ¡£

Êý¾ÝÄ£ÐÍ£º һϵÁмüÖµ¶Ô

ÓÅÊÆ£º ¿ìËÙ²éѯ

ÁÓÊÆ£º ´æ´¢µÄÊý¾ÝȱÉٽṹ»¯

Áд洢Êý¾Ý¿â

Ïà¹Ø²úÆ·£ºCassandra, HBase, Riak

µäÐÍÓ¦Ó㺷ֲ¼Ê½µÄÎļþϵͳ

Êý¾ÝÄ£ÐÍ£ºÒÔÁдØÊ½´æ´¢£¬½«Í¬Ò»ÁÐÊý¾Ý´æÔÚÒ»Æð

ÓÅÊÆ£º²éÕÒËٶȿ죬¿ÉÀ©Õ¹ÐÔÇ¿£¬¸üÈÝÒ×½øÐзֲ¼Ê½À©Õ¹

ÁÓÊÆ£º¹¦ÄÜÏà¶Ô¾ÖÏÞ

ÎĵµÐÍÊý¾Ý¿â

Ïà¹Ø²úÆ·£ºCouchDB¡¢MongoDB

µäÐÍÓ¦ÓãºWebÓ¦Óã¨ÓëKey-ValueÀàËÆ£¬ValueÊǽṹ»¯µÄ£©

Êý¾ÝÄ£ÐÍ£º һϵÁмüÖµ¶Ô

ÓÅÊÆ£ºÊý¾Ý½á¹¹ÒªÇó²»Ñϸñ

ÁÓÊÆ£º ²éѯÐÔÄܲ»¸ß£¬¶øÇÒȱ·¦Í³Ò»µÄ²éѯÓï·¨

ͼÐÎ(Graph)Êý¾Ý¿â

Ïà¹ØÊý¾Ý¿â£ºNeo4J¡¢InfoGrid¡¢Infinite Graph

µäÐÍÓ¦ÓãºÉç½»ÍøÂç

Êý¾ÝÄ£ÐÍ£ºÍ¼½á¹¹

ÓÅÊÆ£ºÀûÓÃͼ½á¹¹Ïà¹ØËã·¨¡£

ÁÓÊÆ£ºÐèÒª¶ÔÕû¸öͼ×ö¼ÆËã²ÅÄܵóö½á¹û£¬²»ÈÝÒ××ö·Ö²¼Ê½µÄ¼¯Èº·½°¸¡£

ʲôÊÇRedis

RedisÊÇÓÃCÓïÑÔ¿ª·¢µÄÒ»¸ö¿ªÔ´µÄ¸ßÐÔÄܼüÖµ¶Ô£¨key-value£©Êý¾Ý¿â£¬¹Ù·½Ìṩ²âÊÔÊý¾Ý£¬50¸ö²¢·¢Ö´ÐÐ100000¸öÇëÇó,¶ÁµÄËÙ¶ÈÊÇ110000´Î/s,дµÄËÙ¶ÈÊÇ81000´Î/s £¬ÇÒRedisͨ¹ýÌṩ¶àÖÖ¼üÖµÊý¾ÝÀàÐÍÀ´ÊÊÓ¦²»Í¬³¡¾°ÏµĴ洢ÐèÇó£¬

ĿǰΪֹRedisÖ§³ÖµÄ¼üÖµÊý¾ÝÀàÐÍÈçÏ£º

×Ö·û´®ÀàÐÍ string :kvÀàÐÍ

¹þÏ£ÀàÐÍ hash: map¸ñʽ

ÁбíÀàÐÍ list£ºlinkedlist¸ñʽ £¬ÓÐÐò £¬Ö§³ÖÖØ¸´ÔªËØ

¼¯ºÏÀàÐÍ set£º²»ÔÊÐíÖØ¸´ÔªËØ£¬ÎÞÐò

ÓÐÐò¼¯ºÏÀàÐÍ sortedset £º²»ÔÊÐíÖØ¸´ÔªËØ£¬ÇÒÔªËØÓÐ˳Ðò

redisµÄÓ¦Óó¡¾°

1.»º´æ£¨Êý¾Ý²éѯ¡¢¶ÌÁ¬½Ó¡¢ÐÂÎÅÄÚÈÝ¡¢ÉÌÆ·ÄÚÈݵȵȣ©

2.ÁÄÌìÊÒµÄÔÚÏߺÃÓÑÁбí

3.ÈÎÎñ¶ÓÁС££¨Ãëɱ¡¢ÇÀ¹º¡¢12306µÈµÈ£©

4.Ó¦ÓÃÅÅÐаñ

5.ÍøÕ¾·ÃÎÊͳ¼Æ

6.Êý¾Ý¹ýÆÚ´¦Àí£¨¿ÉÒÔ¾«È·µ½ºÁÃë

7.·Ö²¼Ê½¼¯Èº¼Ü¹¹ÖеÄsession·ÖÀë

¹ØÏµÐͺͷƹØÏµÐÍÊý¾Ý¿â±È½Ï

ÏÂÔØ°²×°

1. ¹ÙÍø£ºhttps://redis.io

2. ÖÐÎÄÍø£ºhttp://www.redis.net.cn/

3. ½âѹֱ½Ó¿ÉÒÔʹÓãº

redis.windows.conf£ºÅäÖÃÎļþ

redis-cli.exe£ºredisµÄ¿Í»§¶Ë

redis-server.exe£ºredis·þÎñÆ÷¶Ë

ÃüÁî²Ù×÷

redisµÄÊý¾Ý½á¹¹£ºredis´æ´¢µÄÊÇkey,value¸ñʽµÄÊý¾Ý£¬ÆäÖÐkey¶¼ÊÇ×Ö·û´®£¬valueÓÐ5ÖÖ²»Í¬µÄÊý¾Ý½á¹¹

×Ö·û´®ÀàÐÍ string

´æ´¢£º set key value

127.0.0.1:6379> set username zhangsan
OK

»ñÈ¡£º get key

127.0.0.1:6379> get username
"zhangsan"

ɾ³ý£º del key

127.0.0.1:6379> del age
(integer) 1

¹þÏ£ÀàÐÍ hash

´æ´¢£º hset key field value

127.0.0.1:6379> hset myhash username lisi
(integer) 1
127.0.0.1:6379> hset myhash password 123
(integer) 1

»ñÈ¡£ºhget key field»ñȡָ¶¨µÄfield¶ÔÓ¦µÄÖµ

127.0.0.1:6379> hget myhash username
"lisi"
hgetall key£º»ñÈ¡ËùÓеÄfieldºÍvalue
127.0.0.1:6379> hgetall myhash
1) "username"
2) "lisi"
3) "password"
4) "123"

ɾ³ý£º hdel key field

27.0.0.1:6379> hdel myhash username
(integer) 1

ÁбíÀàÐÍ list¿ÉÒÔÌí¼ÓÒ»¸öÔªËØµ½ÁбíµÄÍ·²¿£¨×ó±ß£©»òÕßβ²¿£¨Óұߣ©

ÁбíÀàÐÍ¿ÉÒÔÀí½â³ÉË«¶ÓÁУ¬¿ÉÒÔ×ó±ß½ø³ö£¬Ò²¿ÉÒÔÓұ߽ø³ö£¬

Ìí¼Ó£º

lpush key value : ½«ÔªËؼÓÈëÁбí×ó±ß

rpush key value £º½«ÔªËؼÓÈëÁбíÓÒ±ß

127.0.0.1:6379> lpush myList a
(integer) 1
127.0.0.1:6379> lpush myList b
(integer) 2
127.0.0.1:6379> rpush myList c
(integer) 3

»ñÈ¡£ºlrange key start end ·¶Î§»ñÈ¡ £¬±ÈÈç lrange myList 0 -1 ±íʾ»ñÈ¡ËùÓÐ

127.0.0.1:6379> lrange myList 0 -1
1) "b"
2) "a"
3) "c"

ɾ³ý£º

lpop key £º ɾ³ýÁбí×î×ó±ßµÄÔªËØ£¬²¢½«ÔªËØ·µ»Ø

rpop key£º ɾ³ýÁбí×îÓұߵÄÔªËØ£¬²¢½«ÔªËØ·µ»Ø

¼¯ºÏÀàÐÍ set ²»ÔÊÐíÖØ¸´ÔªËØ£¬ÎÞÐò

´æ´¢£ºsadd key value

127.0.0.1:6379> sadd myset a
(integer) 1
127.0.0.1:6379> sadd myset a
(integer) 0

»ñÈ¡£ºsmembers key»ñÈ¡set¼¯ºÏÖÐËùÓÐÔªËØ

127.0.0.1:6379> smembers myset
1) "a"

ɾ³ý£ºsrem key valueɾ³ýset¼¯ºÏÖеÄij¸öÔªËØ

127.0.0.1:6379> srem myset a
(integer) 1

ÓÐÐò¼¯ºÏÀàÐÍ sortedset

²»ÔÊÐíÖØ¸´ÔªËØ£¬ÇÒÔªËØÓÐ˳Ðò£¬Ã¿¸öÔªËØ¶¼»á¹ØÁªÒ»¸ödoubleÀàÐ͵ķÖÊý¡£

redisÕýÊÇͨ¹ý·ÖÊýÀ´Îª¼¯ºÏÖеijÉÔ±½øÐдÓСµ½´óµÄÅÅÐò¡£

´æ´¢£ºzadd key score value

127.0.0.1:6379> zadd mysort 60 zhangsan
(integer) 1
127.0.0.1:6379> zadd mysort 50 lisi
(integer) 1
127.0.0.1:6379> zadd mysort 80 wangwu
(integer) 1

»ñÈ¡£ºzrange key start end [withscores]

127.0.0.1:6379> zrange mysort 0 -1
1) "lisi"
2) "zhangsan"
3) "wangwu"

127.0.0.1:6379> zrange mysort 0 -1 withscores
1) "zhangsan"
2) "60"
3) "wangwu"
4) "80"
5) "lisi"
6) "500"

ɾ³ý£ºzrem key value

127.0.0.1:6379> zrem mysort lisi
(integer) 1

ÆäËûͨÓÃÃüÁî

keys * : ²éѯËùÓеļü

type key £º »ñÈ¡¼ü¶ÔÓ¦µÄvalueµÄÀàÐÍ

del key £ºÉ¾³ýÖ¸¶¨µÄkey value

³Ö¾Ã»¯

redisÊÇÒ»¸öÄÚ´æÊý¾Ý¿â£¬µ±redis·þÎñÆ÷ÖØÆô£¬Êý¾Ý»á¶ªÊ§£¬ÎÒÃÇ¿ÉÒÔÅäÖÃredis½«ÄÚ´æÖеÄÊý¾Ý³Ö¾Ã»¯±£´æµ½Ó²Å̵ÄÎļþÖС£

redis³Ö¾Ã»¯»úÖÆÓÐÁ½ÖÖ£º

1. RDB£ºÄ¬ÈÏ·½Ê½£¬²»ÐèÒª½øÐÐÅäÖã¬Ä¬ÈϾÍʹÓÃÕâÖÖ»úÖÆ

ÔÚÒ»¶¨µÄ¼ä¸ôʱ¼äÖУ¬¼ì²âkeyµÄ±ä»¯Çé¿ö£¬È»ºó³Ö¾Ã»¯Êý¾Ý£¬ÅäÖÃÔÚredis°²×°Ä¿Â¼µÄ

#900ÃëÄÚÓÐ1ÌõÊý¾Ý±ä»¯¾Í¸üлº´æµ½´ÅÅÌ
save 900 1
#300ÃëÄÚÓÐ10Ìõ¼°ÒÔÉϵÄÊý¾Ý±ä»¯¾Í¸üе½´ÅÅÌ
save 300 10
#60ÃëÄÚÓÐ10000ÒÔÉϵÄÊý¾Ý±ä»¯¾Í¸üлº´æµ½´ÅÅÌ
save 60 10000

ÐÞ¸ÄÍêÅäÖúóÖØÐÂÆô¶¯redis·þÎñÆ÷£¬²¢Ö¸¶¨ÅäÖÃÎļþÃû³Æ £¬ÔÚÃüÁîÐÐÖÐÆô¶¯redis-server.exe²¢¿Õ¸ñºóÃæ¼ÓÉÏÅäÖÃÎļþÃû³Æredis-server.exe redis.windows.conf

2. AOF£ºÈÕÖ¾¼Ç¼µÄ·½Ê½£¬¿ÉÒԼǼÿһÌõÃüÁîµÄ²Ù×÷¡£¿ÉÒÔÿһ´ÎÃüÁî²Ù×÷ºó£¬³Ö¾Ã»¯Êý¾Ý¡£Ò»°ã²»½¨ÒéÓÃÕâÖÖ·½Ê½£¬»áÏûºÄÐÔÄÜ¡£

appendonly no£¨¹Ø±Õaof£© --> appendonly yes £¨¿ªÆôaof£©
# appendfsync always £º ÿһ´Î²Ù×÷¶¼½øÐг־û¯
# appendfsync everysec £º ÿ¸ôÒ»Ãë½øÐÐÒ»´Î³Ö¾Ã»¯
# appendfsync no £º ²»½øÐг־û¯

Java²Ù×÷Redis

ÔÚjava·þÎñ¶ËÂß¼­ÖУ¬Ê¹ÓÃredis»º´æÒ»Ð©²»¾­³£·¢Éú±ä»¯µÄÊý¾Ý¡£

Êý¾Ý¿âµÄÊý¾ÝÒ»µ©·¢Éú¸Ä±ä£¬ÔòÐèÒª¸üлº´æ¡£

Êý¾Ý¿âµÄ±íÖ´ÐÐ Ôöɾ¸ÄµÄÏà¹Ø²Ù×÷£¬ÐèÒª½«redis»º´æÊý¾ÝÇé¿ö£¬ÔٴδæÈë

ÔÚservice¶ÔÓ¦µÄÔöɾ¸Ä·½·¨ÖУ¬½«redisÊý¾Ýɾ³ý¡£

Jedis: Ò»¿îjava²Ù×÷redisÊý¾Ý¿âµÄ¹¤¾ß.

ʹÓò½Ö裺

1. ÏÂÔØjedisµÄjar°ü

2. ʹÓÃ

Jedis²Ù×÷¸÷ÖÖredisÖеÄÊý¾Ý½á¹¹

×Ö·û´®ÀàÐÍ string

set/get


//1. »ñÈ¡Á¬½Ó
Jedis jedis = new Jedis();//Èç¹ûʹÓÿղι¹Ô죬ĬÈÏÖµ "localhost",6379¶Ë¿Ú
//2. ²Ù×÷
//´æ´¢
jedis.set("username","zhangsan");
//»ñÈ¡
String username = jedis.get("username");
System.out.println(username);
//¿ÉÒÔʹÓÃsetex()·½·¨´æ´¢¿ÉÒÔÖ¸¶¨¹ýÆÚʱ¼äµÄ key value
jedis.setex("activecode",20,"hehe");//½«activecode£º
hehe¼üÖµ¶Ô´æÈëredis£¬²¢ÇÒ20Ãëºó×Ô¶¯É¾³ý¸Ã¼üÖµ¶Ô
//3. ¹Ø±ÕÁ¬½Ó
jedis.close();

¹þÏ£ÀàÐÍ hash £º map¸ñʽ

hset/hget/hgetAll

//1. »ñÈ¡Á¬½Ó
Jedis jedis = new Jedis();//Èç¹ûʹÓÿղι¹Ô죬ĬÈÏÖµ "localhost",6379¶Ë¿Ú
//2. ²Ù×÷
// ´æ´¢hash
jedis.hset("user","name","lisi");
jedis.hset("user","age","23");
jedis.hset("user","gender","female");
// »ñÈ¡hash
String name = jedis.hget("user", "name");
System.out.println(name);
// »ñÈ¡hashµÄËùÓÐmapÖеÄÊý¾Ý
Map<String, String> user = jedis.hgetAll("user");
// keyset
Set<String> keySet = user.keySet();
for (String key : keySet) {
//»ñÈ¡value
String value = user.get(key);
System.out.println(key + ":" + value);
}
//3. ¹Ø±ÕÁ¬½Ó
jedis.close();

ÁбíÀàÐÍ list £º linkedlist¸ñʽ,Ö§³ÖÖØ¸´ÔªËØ

lpush / rpush

lpop / rpop

lrange start end : ·¶Î§»ñÈ¡

//1. »ñÈ¡Á¬½Ó
Jedis jedis = new Jedis();//Èç¹ûʹÓÿղι¹Ô죬
ĬÈÏÖµ "localhost",6379¶Ë¿Ú
//2. ²Ù×÷
// list ´æ´¢
jedis.lpush("mylist","a","b","c");//´Ó×ó±ß´æ
jedis.rpush("mylist","a","b","c");//´ÓÓұߴæ
// list ·¶Î§»ñÈ¡
List<String> mylist = jedis.lrange("mylist",
0, -1);System.out.println(mylist);
// list µ¯³ö
String element1 = jedis.lpop("mylist");//c
System.out.println(element1);
String element2 = jedis.rpop("mylist");//c
System.out.println(element2);
// list ·¶Î§»ñÈ¡
List<String> mylist2 = jedis.lrange("mylist",
0, -1); System.out.println(mylist2);
//3. ¹Ø±ÕÁ¬½Ó
jedis.close();

¼¯ºÏÀàÐÍ set £º ²»ÔÊÐíÖØ¸´ÔªËØ£¬ÎÞÐò

sadd

smembers:»ñÈ¡ËùÓÐÔªËØ

//1. »ñÈ¡Á¬½Ó
Jedis jedis = new Jedis();//Èç¹ûʹÓÿղι¹Ô죬
ĬÈÏÖµ "localhost",6379¶Ë¿Ú
//2. ²Ù×÷
// set ´æ´¢
jedis.sadd("myset","java","php","c++");
// set »ñÈ¡
Set<String> myset = jedis.smembers("myset");
System.out.println(myset);
//3. ¹Ø±ÕÁ¬½Ó
jedis.close();

ÓÐÐò¼¯ºÏÀàÐÍ sortedset£º²»ÔÊÐíÖØ¸´ÔªËØ£¬ÇÒÔªËØÓÐ˳Ðò

zadd

zrange

//1. »ñÈ¡Á¬½Ó
Jedis jedis = new Jedis();//Èç¹ûʹÓÿղι¹Ô죬
ĬÈÏÖµ "localhost",6379¶Ë¿Ú
//2. ²Ù×÷
// sortedset ´æ´¢
jedis.zadd("mysortedset",3,"ÑÇɪ");
jedis.zadd("mysortedset",30,"ºóÒá");
jedis.zadd("mysortedset",55,"ËïÎò¿Õ");
// sortedset »ñÈ¡
Set<String> mysortedset = jedis.zrange("mysortedset", 0, -1);
System.out.println(mysortedset);
//3. ¹Ø±ÕÁ¬½Ó
jedis.close();

jedisÁ¬½Ó³Ø£º JedisPool

ʹÓãº

1. ´´½¨JedisPoolÁ¬½Ó³Ø¶ÔÏó

2. µ÷Ó÷½·¨ getResource()·½·¨»ñÈ¡JedisÁ¬½Ó

//0.´´½¨Ò»¸öÅäÖöÔÏó
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(50);
config.setMaxIdle(10);
//1.´´½¨JedisÁ¬½Ó³Ø¶ÔÏó
JedisPool jedisPool = new JedisPool(config,"localhost",6379);
//2.»ñÈ¡Á¬½Ó
Jedis jedis = jedisPool.getResource();
//3. ʹÓÃ
jedis.set("hehe","heihei");
//4. ¹Ø±Õ ¹é»¹µ½Á¬½Ó³ØÖÐ
jedis.close();

Á¬½Ó³Ø¹¤¾ßÀà

jedis.properties

host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10

public class JedisPoolUtils {

private static JedisPool jedisPool;

static{
//¶ÁÈ¡ÅäÖÃÎļþ
InputStream is = JedisPoolUtils.class.getClassLoader
().getResourceAsStream ("jedis.properties");
//´´½¨Properties¶ÔÏó
Properties pro = new Properties();
//¹ØÁªÎļþ
try {
pro.load(is);
} catch (IOException e) {
e.printStackTrace();
}
//»ñÈ¡Êý¾Ý£¬ÉèÖõ½JedisPoolConfigÖÐ
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(Integer.parseInt(pro.getProperty
("maxTotal")));
config.setMaxIdle(Integer.parseInt(pro.getProperty
("maxIdle")));

//³õʼ»¯JedisPool
jedisPool = new JedisPool(config,pro.getProperty("host"),
Integer.parseInt(pro.getProperty("port")));

}

/**
* »ñÈ¡Á¬½Ó·½·¨
*/
public static Jedis getJedis(){
return jedisPool.getResource();
}
}

 

 

   
1745 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

»ùÓÚEAµÄÊý¾Ý¿â½¨Ä£
Êý¾ÝÁ÷½¨Ä££¨EAÖ¸ÄÏ£©
¡°Êý¾Ýºþ¡±£º¸ÅÄî¡¢ÌØÕ÷¡¢¼Ü¹¹Óë°¸Àý
ÔÚÏßÉ̳ÇÊý¾Ý¿âϵͳÉè¼Æ ˼·+Ч¹û
 
Ïà¹ØÎĵµ

GreenplumÊý¾Ý¿â»ù´¡Åàѵ
MySQL5.1ÐÔÄÜÓÅ»¯·½°¸
ijµçÉÌÊý¾ÝÖÐ̨¼Ü¹¹Êµ¼ù
MySQL¸ßÀ©Õ¹¼Ü¹¹Éè¼Æ
Ïà¹Ø¿Î³Ì

Êý¾ÝÖÎÀí¡¢Êý¾Ý¼Ü¹¹¼°Êý¾Ý±ê×¼
MongoDBʵս¿Î³Ì
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
PostgreSQLÊý¾Ý¿âʵսÅàѵ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
InfluxDB¸ÅÄîºÍ»ù±¾²Ù×÷
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾ÝдÈë
Éî¶ÈÂþ̸Êý¾Ýϵͳ¼Ü¹¹¡ª¡ªLambda architecture
Lambda¼Ü¹¹Êµ¼ù
InfluxDB TSM´æ´¢ÒýÇæÖ®Êý¾Ý¶ÁÈ¡
×îпγÌ
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯¡¢¼Ü¹¹Éè¼ÆºÍÔËÐÐά»¤
²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
NoSQLÊý¾Ý¿â£¨Ô­Àí¡¢Ó¦Óá¢×î¼Ñʵ¼ù£©
ÆóÒµ¼¶Hadoop´óÊý¾Ý´¦Àí×î¼Ñʵ¼ù
OracleÊý¾Ý¿âÐÔÄÜÓÅ»¯×î¼Ñʵ¼ù
³É¹¦°¸Àý
ij½ðÈÚ¹«Ë¾ Mysql¼¯ÈºÓëÐÔÄÜÓÅ»¯
±±¾© ²¢·¢¡¢´óÈÝÁ¿¡¢¸ßÐÔÄÜÊý¾Ý¿âÉè¼ÆÓëÓÅ»¯
ÖªÃûijÐÅϢͨÐŹ«Ë¾ NoSQL»º´æÊý¾Ý¿â¼¼Êõ
±±¾© oracleÊý¾Ý¿âSQLÓÅ»¯
ÖйúÒÆ¶¯ IaaSÔÆÆ½Ì¨-Ö÷Á÷Êý¾Ý¿â¼°´æ´¢¼¼Êõ