±à¼ÍƼö: |
±¾ÎÄÖ÷Òª½éÉÜ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();
}
} |
|