首页 技术 正文
技术 2022年11月6日
0 收藏 566 点赞 413 浏览 86063 个字

一、windows下Redis安装

1、Redis下载

下载地址:https://github.com/MicrosoftArchive/redis

打开下载地址后,选择版本

windows下Redis安装及利用java操作Redis

然后选择压缩包

windows下Redis安装及利用java操作Redis

下载 Redis-x64-3.2.100.zip 到本地并解压。放到 c:/program files文件夹下并新建Redis目录;

windows下Redis安装及利用java操作Redis

2、启动Redis服务

通过CMD进入Redis文件存放目录。输入redis-server.exe  redis.windows.conf 启动redis,如下图出现红色字体部分代表成果。

windows下Redis安装及利用java操作Redis

3、redis客户端连接

设置redis值,并通过get方法获取值;

windows下Redis安装及利用java操作Redis

二、下载jar包

下载Java操作Redis所需要的jar包:commons-pool2-2.4.2.jar 和 jedis-2.9.0.jar

windows下Redis安装及利用java操作Redis

三、利用Java操作Redis

详见:https://www.cnblogs.com/edisonfeng/p/3571870.html

2、安装

    1)解压后将里面所有文件拷贝至redis安装目录:

     aaarticlea/png;base64,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” alt=”” />

     几个exe程序的功能:    

        redis-benchmark.exe性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具).

     redis-check-aof.exe:更新日志检查

       redis-check-dump.exe本地数据库检查

       redis-cli.exe客户端

     redis-server.exe服务端       

    2)将路径添加至系统环境变量:过程略

    3)cmd下启动redis-server

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoQAAAGVCAIAAADot3e7AAAgAElEQVR4nO3dW49cx3Xo8f5OJwgC5CXI5QAykiAJHFiy5RNAQI5hWzBgIMmJ8w1o+MGIJSEJDL8c5YHUEQlIgGgJsQEnpo4QyVKoiJfhkKFImRKvQ1GiZNlid+dhxHFzV9WqVZfdq2rv/+9B6Nlde9WqVbv3Yo96ZhbP/mTn2Z/s7L6z9wd/9tgCAABs3z+/+OY/v/jmmbev/84ffdk6FwAAZukHz7/6g+dffevC1d9+6BHrXAAAmKV/PPrKPx595c3dd3/rf37BOhcAAGbpqWdefuqZl0+eu/Kbv//n1rkAADBLTxz56RNHfvrGzpXf+L3PW+cCAMAsPXH4p987/NM3dq78xu/SjAEAsPD3h//t7w//2xs7P/8f95vxekNezM1zS+LUJWSSut7URbVThFR1Mw/Vud/6AEAd3zt84nuHT7yxc2W/Gaf2Ue8Aw2YcbbfyAP0s4zXjWuWqGKd6Px51CgDozxNHTjxx5LNmPLgner8c3DSj99btN+O8fBrpB7XS2EIHNQ8FANPxxJET+//P2G3GA/rvMQrNL/QO1Xt884gyTkk+gzFyStEgJesN5aOsQ3b+3uqFaqjPRyiRZrybTCg9ZZxQ/qHHqXEAINkTh088cfjEfyiascB7kyp/vPml5gZaPZ/QfVYZP2N8aAu8dVBOkTRvKH7odM2+1N2vgbx5a+WvqRsAxD155MSTR0qb8SL95uWeO7jDDp6Sw2ryceNHH7vzRhclLFA+ojkeqkOobtGaROPLSx6MT61zRn1ChLBCfbz5h3LWxwGAZEIzFu47XtGbmhxZjlnyrHyTFR6HbrJC/pr1Csf1I+V5q4xPzVOTfGF9ZIXXlebaKMwQAPyefOblJ595+T8Un6Ze3ydEW29wg6Q+dr+Mjq+bz8F/12IriuajH785dUkdvHFS66xfkRy/Yn2iGRaud71Bk48mPQCIe/KZX78z3j/ivR/pbfYAN0jScSETfZKDYaEpNp+K3osHs2vie9OQl5ZUB3lpcqho/NCk+qfkciXVxys6r3K9SUtOTRIAgp76fy8/9cyJk+f4DVwAABj5h2df/odnX35zl99NDQCAkX869so/Hf3/b+6+y19tAgDAxg+e+/cfPPfvb114j79nDACAjaePv/5/X3j99MVrv/3QI9a5AAAwS0d+9NbhH721c/nG7/zRl61zAQBglp47sfvcid3zV/b+4M8es84FAIBZeulnl1/62eW3r9753MNf2T8i/9Cn5kctU8dHn3Ip55VDZY+PpueeWCVaYdEqxokWTb/vQnw3jjzY+2VF40XuiH7TtxA/7/q34s2zYj2tSrHlSasvM+/WV2XGB+L866nrPzl1/Z2bH/3J/3p8c5x7Ziii/FgzXjNXxrwloTTjlYRXYGGc1ORrxYnWeXCdZeR5MKxKPrWMF7kX8r6U1ycvfi/7Irz0xrtLbMGok25nx8e4LyVP+sr5O6+cv/Pu7U8+/9g3Q2lpXgOaG27qGM0ahJipoRaBjU9NbzBYX8/BWdE4ckx9HM2+yOPlWfLiDyjzUU5hSLOiZo2deV586jleQFuh5VjVre68w2g/u/zxzy5/fPXOrx7+338dmk+uyNr5l0LqDV1zPDVORhruDT1UiqT7qb6egymSliOkmjQyqWhuKaJxlHXLy8f90rtZofUKmyvHSSqpd7ywLn0+ylDl68qIL5xbEj90VpX6DDIPlUgzb/V6CseVSw5N6k0sKR8hmc2D0VTXDjdVZZ7KKZTrleN4B3tPHB48eeVXJ6/86vqH97741f8TOk1T3NBKhNTd4/JTY8TxpioUMVpfTSbR+iStqEqcpHwOhq0ffD1Ei6PP0xszNR9h6kH8vPw110zS1gjTlcRPjSM/3qyYMFF2nvr4defVh8reF2/w8nqmrjek7rqq5ClXZrAdtfZdfizsV+p6hwffunrvrav3btxdfulr39IswzuBkJ97XB9fpqyIPkio6GvFdZaUZ0aQ6MiSOJp9dMcPzlr46hYqnT5JfT4LXzOWk/HmL2QrrEjzOFWt+KExGfHl6ZT1yUhVv5CFs+kl83qXEIofncsdkFFPeV7leqPTjbHvFa+HpH3RBHcfe+PI+aTuy/DgqWvLU9eWNz5aPvr1v5Pn0yxAHh8NrhkQHaaMIAxWBs9OVQ4SupL0+5IaJ3VRwjUXmiVjUwY0pwhr0eRTsijlvIvwvgiLSoovxymML0+nrE9GqvqF6OfSxPcuQZlGavzo+NR9TBWNk1H/kutWOWN0XzTBlblFy5IUc3jw1PXVqeurmx+tvvx4sBmnTlayGZqCynGStiSpuMolRKfQ5B/fObs48pdyzNSilYxX7mM059BZ0fjeLQjti7Ao/bqqxEmtm/CsUAdlBM2z+n2JhtWEyt6XUH2U682bN6/4JeuK1jMjpZJ9qbje6PJL6rY4fX112teMhSK64ZTH1w5NKJcmjhwhOqOQ/+az2XnqF2seRyiysnrCvHKqC/Vuhsa7aQiL3Twi1Mc7VyhPZf7youR89KFCS/YGDz32TuqtT2gtqUkK8TXH5Unl8aFFacZH8y9cr3f8InypJNVhodt6YV2bA0ITpabkPaLJs8p6heDROEL8Xx8/fWPYjAGU0NyM5mACdeg07QNN5T+B62FcZ26szlxf3aIZA/Wk/gt9qrquQ9fJt4mSSs5cX53hnTEAAIbO3FiducE7YwAA7Jy9sTpLMwYAwBDNGAAAYzs3V2dv0owBALCzc3O108Y7Y+FTduN9+s720318sHCftwi9F2fs6zkp/rQ/xRpa2lTXu2XdXTldXA+eJHdurHZurPYe/KUfVpktxPvy2FObGPXfGWOEHUOoeXif6sLY13Ne/E6LqdH+zXebSlZdcuVsjqmeQ2qElq8H/+t35+Zq5+Zq7+PPmrFVuoZlmmQzbueyy0P+Y8TvvaqCCS8tVUkpSv4ZtzlmjBy2H2Q8/vTO3Vydu9+M1w5lUHew97gQXL4IhPjCuUpy8srI8nrdWUJTpMaJJqOJn7euQWJy/LzjoXzkMZr4qeOjxUzKX4iftC59/NBZSfURip9UNzm+twia+NXzSY0Tyj+1bkIdlAkPHivrs3a4YUP5uPNGp1Dm7503FCd13mg+3vSUcULJuMv5zLmCd8Zu4UoeC0XxLlJaVQq5Upr4wviDLzdXl1qfUJykRY20Lje3pHUJwb0rzd76kvXmPRZ2SlPMaJ76+HXnLX+smWJzddnxletd++TNWyt/bxx99aJL1pTIHeYuRzNvdjKLevWMLlZT5NR55ceenT13a3XuVoVmXJJ0dN7CIqauotYmLQLXkHKTonGSFpWxLmGYN1Qo/+hc8haULCFUT2Ua8qRCMvJ0wuDCfdEvZCFeb9GwmvWmxl8ErvNQnGjd3IPKNLLXJeQfylkfJzvV6NRyECGOZl5NEPkUbz3d/OX4+klDUouTWrTF7q1ff5u6ueQCz0aLnkTeIU381HUlXUD6NKLjs+umLJHmesiIn72Ekn3UxEnd99CzGfuSFF8zr0Y0z8L4yrDZ+WQnpl9XNA3lXhdmKE+dcd2mLiGpDiVxlPEzZtEP0xRHtd7dW6td3ztjTX6pSWRsRujZ9YO8T8nJR4NrEouOj14TVeojpKSMX7KupLmiBYmmF9r3pPyTxlffr9B6levKiB9Ncsv1Sco8O/6W1yuE9W5uRpxonpolaObVpKqZN3vvhKeyY+rrv9jYsux5k/d30Iy9SQjWG6LH5USF8kUHeE/Jzl/epNQ48rq80+njaFKK5pm6roWzL0njhTibBZGTVC4hVOeS9XpzcB97p/OuN3VdGfE1x+VJB+OVS06Kr1xXaj5V1qtZlxxcv66MJDX5e6dwE5MHb46X00uqWzR55VOhda0d+imS5nXrFnrsmfT8rdX5W6vbH9v/0g+90CKxNbZln9imcz1jJFxOPTm/118zXuS+WUQVVsWf8KZPeGmwwkXVmQt7qwt7q9u/6KwZAwAwHf+1t/qvvdX7NGMAAKxcvL26eJtmDACAnbdpxgAA2Hr79urt26s7NGMAAKxcen91iWYMAIChS++v3r69vPOLJc0YAAAbl24vL9GMAQAwdPn95eX3acYAANh5Z78Zf0IzBgDAyDt3lu+8v/yAZgwAgJWf31n+/A7NGAAAO1fuLK/QjAEAMLTfjD+kGQMAYOXdD5bvfkAzBgDAznsfLN+jGQMAYOjqB8v3PljepRkDAGDl6ofLqx8u7/6SZgwAgJFrd1fX7q4++iV/KAIAACPXPlxe+3D5Ee+MAQCwcv3u8vpdmjEAAHZoxgAAGLtBMwYAwNaNu8sbNGMAAAzd/Gh586Plx7+iGQMAYIRmDACAMZoxAADGaMYAABi79dHyFs24B+v7rBMBANR2/50xvw6zdTRjAJisa3dX/KGIRqwDao0HADTqjXdXr7+7uvYh74wBADDyLxeW/3Jheek274wBADDy0vnlS+eXb9OMAQCwQjMGAMDYS+eXL9KMAQAwRDMeW+gTznzyGQDwmRdpxiOzasb8IwAAukEz3gKTvkgzBoBufNaM92jGU0MzBoBuvHh++eIuzXhq6MQA0BOacbnefydl7/kDQPde3KUZAwBgimYMAIAxmnGquX0jd27rBQAD+834Is1YbW7NaW7rBQADL+4uf0gzfpD3A01b6Eahea3ySc3TKh8A6N4PacYAANiiGQMAYIxmDACAMZoxAADGaMYAABibTzMOfeLX6pPAY8/LJ5wBoBs0Y5rxdublHwdjy/5hs9D48i2rmIx8Svm8myd64/R4XF5mKI6mUG4o4dmSCHlZdWk+zXjRXp8Ye16TdbVW5FnZLHJSwb2DC7csI5nsZlA4r3dw6MtejnsXqF+mhjx4fV+VOO5BZZLdmFUzxhaEXlcZ91mkqtWHTJJJzWG9oWTe0Eg3jtvMWj4eWmB0vLJo8rD1hsJQ5eP7QDNGRdEbAUbl3mc3H4duu+5TmvHZiZWMST2rpBkMutfgy/aPhxaYOj6jtm5umlBuMtGDyvh9mFIzdjdpOvs0RexXdd5ipj4eRPN+mbRZhXfk7OD6OPLy176e1/7x0Oqi45WlC+3X5pfKLZBP0RyZgik1Y2Dm3Bv0wrlpeu96yjtyxk1Qf0rGTVwYmZSqsHy3pL0cDy1NHq+v3uYY9/FAXij9kSmgGQOT4b2phe5c8h1QeaI+n7zk86bIuFkLTWswoJfjcnGEMcrqafarSqjsDDvTbzMeXFKTYbWu1urZWj5dEG7WwoCFeNeWg6cmM3hWHz90Pch36qRLSMhnEahnR8dTlxmlqbMymmbrvUeS9rd1NOPWWK2rtXq2lk/7BhVzH4duau59be2Q48j5RKf2niKvTpmkMtVBzNAUfR0XFi7HUVcrcj3Iz7qTRtflfUqfbetabsbuTkyt+tvVez17zx8AglpuxgAAzALNGAAAYzRjAACM0YwBADBGMwYAwNj2m7H8Ofh25p1bPgAAMzRj8pkG6gagYybfpqb/1cpHmd4cuhHNGEDH+H/GXdN0mpl0I5oxgI7RjHsnN5uZtCI6MYC+jdGM1z61gjc4rzlaUZLZXicA2sU742nw/u9kegwA9IFmPBmb3ZdODAA9KW/GVt/om9u8Gi1/3zWUWGsJt5YPgFmgGfcyr1KzudGMASCIb1OjluFnohRdTW7P+jijai0fABNEMwYAwBjNGAAAYzRjAACM0YwBADBGMwYAwBjNGHmsPlHMJ5kBTFBqM97+rZCbb5sq7ktSqKauhwaT2cIPX4296qaqKiivc18/KddRql1KasYmO8H2N6vW1qTGaeqSaDaZ8RLruhnXjVwl1aYuIVlHqfZH34yttoHtn7zet7id/LfTjPtVvSY0Y1SjbMZ0YoxnArvcyBK8zTjUodcPGgRxjw+eShq/0JUoNX5JnNBTqXXQpCQPluOn5pOUjKYOwtRJ8yKi8WYMQ+6LlmsgpJHieDer1uPBLN4vk+LIq4jG15wuhEo6t8q6QuML65ldn4P/Dh6MNC8iaMYwN4Grq5ElVL+xjtE89KvIjhMaJh8/UH1d3vihrPJyEOKHpls/eKmMPS8i2v9/xpi83i+tdvL33jfzbrLuY+8sJXE0q6gYR7OcKvVRxg9lNUYO3ukGl8fY8yKi/U9T92J9n3UimQzzrzKvVf5Nbbr3Xlm92Sibx2JjU5KqpI8fPT0UqlZNCvNJWm/1fAalGHteRLT/c8a9WN9nnUgmw/yrzGuSf1M7PqiA+7jw5rsZxxvQHT84Ub+E1PhCnNBToYOaeUPpRfPxhnWz9eavyUdfHCGssj6p8yKC38BVBZejLerfIKF5ABiiGQMYCe+cAC2aMQAAxmjGAAAYoxkDAGCMZgwAgLHyZjz2pzNa+/RHa/nUElpXa+ttLR8AqKD8l37QjKfBsBknXVdW9RfmbeSSWDusM1osYj/Xuw78sOzg2dYWBdRX5Tdw0Y+noan9ba35tZaPl9vASkLVzcd7UEj44MuKiwLaxa/DhLnUZmxiVs04ulhNZM0wmjHwGZoxzLnXVWtXmpxPO9nKbzq93S7U8LynLMZsxqGnaMaYhTE+Te2+mOu+fnqPPzbqk2cC6/ImH3q8cBpeaFjFZNxnhXOVoYAp4J0xzPV+XbWTv9D2vAM229tIzVgOGE1YcxyYApoxzPV+XbWTf14zVsbZfEqz3rxmHJ06Oi/Qpe03Y/2LuW781ONWxs7fqv7RU0bKR560yrztXD/CFeIdEO2RoWapWW9oXiEfTUrANNGMx84n1dj5W9U/espI+ciTVpm3ketnvUHzlDB+Uak+oSmiqY6RDNC0Fn4d5jrAKp9aQuua6npDrNY7tzoD6FgLzRgAgFmjGQMAYIxmDACAMZoxAADGaMYAABhrvxn38gnYXvIEADSn/d/A1UuT6yXPqTKsfyNbL/wQV/RgSf6F80bHA7PQfjM2nDdVL3ke6CtbGc14kf7Ltg4OliwhdG4omdTxwCx00YwxhontJs14UdCMQ+M166IZAxXQjOdpYltpu5x2itlgM14777w1YdspKbAl7X+Ay7X2sU6qJ51WjH2PEoqT2owrThpq83IXz8gE6BjvjOeGTayunZIKmYzXjKMBk/puO8UEtopmPCvs4BjaqWrFZix0UGUCmk7vnTRpRmAipteM824i42knn0bSUGqnblHt5JndjEPvUDXr0jTgksfALNCMx9ZOPi3koNdO3aIayXO9QfPU+kFjTJ10fO0oSQnoTI8f4ErlvshtX+qt5WOFOgDAZ+bQjAEAaBrNGAAAYzRjAACM0YwBADBGMwYAwNjxc/eOn7t3cW/56Nczm3Hvn4BtLf/W8gEAjO6Fs5++cPbTi7fuPfq1b+VF6L15tJZ/a/nU0vu6es8fQNOeP/XJ86c+uXDz0y999W+zg/R+n2ot/+r5tLC61oqcqvf8ATTt2Mm7x07e3b3+y0e+8jfWuWAUjXSRRtLI1nv+AJp25LW9I6/t7Vz9xRf+8q+sc0F9jbSQRtLI1nv+AFr39In3nj7x3pkrdz//2Ddrxez9dxy2ln92PlvOvLW6peo9fwAd+/6PL33/x5f+8/KdP/2Lb1jngproJQDQjaeO7z51fPfkxb0/fvRx61xQDZ0YAHry3efOfPe5M69fuPWHX/zadmbs/RuAreXv5rOd9FqrQ6re8wcwKd85dvo7x06/tnvzc498dTsz9n4TbC1/bzM2mbcvvecPYFK+ffT0t4+efm335kMPb6kZu7wfnOnoLtl7/iG9r6v3/AHMyKFnTx969vSrps0YAIBZO3T0zKGjZ17dvfXQw1v6f8YAAOABh46ePXT0LM0YAAAzh47uHDq68+ru3kMPf906FwAAZunQsXOHjp17dXfvoUdoxgAAWChvxmN/QrX3T8D2nj8AYHRJzdjbV2jGsl7y7yXPEMPrsPfSAbBX3oyF47X0frPrIv8ukhTQjAF0rEozxgT0vrk0YwAdoxlj0f/O2n5vpvfqAbA3xo82rX1qBd9C/LFZ5U/dbOMDQFDSL/3g9gS4eF0AKJX06zC56QAuXhcASiX9oYgqN52xvwHY+zcYa+VPHbYWv+s6A2jCt4+e+vbRU8o/odhFk6AJ1Y1jpaPrpOs6A2jCd46d/s6x06/t3vzcI5P9e8Zjxx9bKP+prquX+ABQzXefO/Pd5868fuHWH36Rv9oEAICFp47vPnV89+TFvT9+9HHrXAAAmKXv//jS93986T8v3/nTv/iGdS4AAMzS0yfee/rEe2eu3P38Y9+0zgUAgFk68trekdf2dq7+4gt/+VfWuQAAMEvHTt49dvLu7vVfPvKVv7HOxW/sT8DyCVsAgLHnT33y/KlPLtz89Etf/dvoYJO+RTOehgnvI5eQ1+R/liy0wFqrnnb1MPTC2U9fOPvpxVv3Hv3at6KDrS6OCd/H52PCm8j1EyJUJvV4YRojzUUzRjXHz907fu7exb3lo1//u+hgLg5koxnPUKgyqcejUwhnVZxrpCDAYrFY/HB3+cPd5cW95ZcfpxljLBPuxOazt+ygMpslWjs0xxeBvis3Y00n3owwGO8m4001aXysZjXjoCdJzbgR7ou27qU5dvypYl8wsLlNm/sV2jvN8dSWpjk+SFJOOJrM4GBe8hXjoA+8MwYK8boISephyuPKaidN4e3Ba4cyGfdg3hVCM54XmjFQiNdFyBaa8aBTlscvSSZv9hCa8bxMrxl7X5wdxe8FdT7QS57bF23GoX6j70PudZLRC6M9VfM4FE0eL1znSXHQPZpxa/F7QZ0P9JLnlg12MNpEhePrB0XnTT0eTUbooO4a3bM0Uwjr1cRB93r8AFcq98quezWPHd8KdUMjuDAwfXNoxgD6xT/UMAs0YwAAjNGMAQAwRjMGAMAYzRgAAGPlzbj3D1aMnX/v9QEAjI5mTDPeRx1kvecPoGlVvk3d+32KPrSgCDG95w+gafw/Y+yjGct6zx9A02jGWNCJY3rPH0DrxmjGvf+Ow7Hzt6rPVNdVS+/5A+gY74wBADBGMwYAwNj2m3Hv3wAcO/9a8XvJ00rv+QOYFJpxql6aXC95Wuk9fwCT0sK3qb0fnOnoLjl2/qH4VvPWij+23vMHMCMtNGMAAGaNZgwAgDGaMQAAxmjGAAAYoxkDAGCs/T+h2PsnYHvPHwAwuqRm7O0rNGNZL/n3kmeI4XXYe+kA2CtvxsLxWnq/2XWRfxdJCmjGADpWpRljAnrfXJoxgI7RjLHof2dtvzfTe/UA2Ovx7xmPHX9sVvlTN9v4ABDEO2OgEK8LAKVoxkAhXhcASm2/GY/9DcDev8FYK3/qsLX4XdcZQBNoxq2hGe/r6Drpus4AmtDCr8NcB/QSf2yh/Ke6rl7iA0A1LTRjAABmjWYMAIAxmjEAAMZoxgAAGKMZAwBgrP1mPPYnYPmELQDAWPu/gYtmPA0T3kcuIQCl2m/GW5iXm+kWTHgTuX4AlOqiGWMCaMYAEEQzxhZMuBObzw5gCtr/AJdr7N9xyO9QzMO+AEAm3hkDhXhdAChFMwYK8boAUGp6zXjsb2DyDdJ91PlAL3kCaBfNuLX4vaDOB3rJE0C7evwAVyrvB38q3j3Hjm+FugHAlsyhGQMA0DSaMQAAxmjGAAAYoxkDAGCMZgwAgLHyZtz7J2DHzr/3+gAARkczphnvow6y3vMH0LQq36bu/T5FH1pQhJje8wfQNP6fMfbRjGW95w+gaTRjLOjEMb3nD6B1YzTj3n/H4dj5W9Vnquuqpff8AXSMd8YAABijGQMAYGz7zbj3bwCOnX+t+L3kaaX3/AFMCs04VS9Nrpc8rfSeP4BJaeHb1N4PznR0lxw7/1B8q3lrxR9b7/kDmJEWmjEAALNGMwYAwBjNGAAAYzRjAACM0YwBADDWfjPu/ROwvecPABgdzXhsveTfS54hvecPYNbab8aL/u+zXeTfRZKC3vMHMGtdNGNsQe/NrPf8AcwazRiL/jtZ7/kDmLsem3Hvv+PQKn/qBgCN6rEZAwAwKTRjAACMTa8Z9/4NzFr5UwcA6AbNuDU043295w8ACabXjF3eD/50dJcP5T/VdVnnBQBbN4dmDABA02jGAAAYoxkDAGCMZgwAgDGaMQAAxmjGfIIXAGCMZkwz3g7qDABBNOMFfWIrKDIABNGMsR00YwAIohljC+jEACChGbv4HY15qBsAZKIZAwBgjGYMAIAxmnEqvgG7jzoAQDU041Q0oX3UAQCqoRmXm+rf5Z3qugCgOTRjAACM0YwBADBGMwYAwBjNGAAAYzRjAACM0YzHxieQAQARNOOx9dKMe8kTACaIZrwFXfS5LpIEgGmiGWMfzRgAzNCMsaATA4AtmvH2Wf2OSX63JQA0imYMAIAxmjEAAMZoxq2p9Q1kvhENAN2gGbeGZgwAs0Mzbl/o7wqHWOcLAEhEMwYAwBjNGAAAYzRjAACM0YwBADBGMwYAwBjNGAAAYzRjAACM0YwBADBGMwYAwBjNGAAAYzRjAACM0YwBADBGMwYAwBjNGAAAYzRjAACM0YwBADBGMwYAwBjNGAAAYzRjAACM0YwBADBGMwYAwBjNGAAAY24zXm9wj2we9w7OGB99yqWcVw6VPT6anntilWiFRasYx1u0aD31SR6cW3I9QKmwdEkvIs28vezjeHlWLKZ8Svm8qCbUjDfHhPbGvRHnjdfMlTFvSSjNeKVatxt5X/QBy+OE6izXP2nJoZjRfPq9j9RKOy9OYd2yt6DWq8PESHlmFNPwfoJqaMaDU5LGawbr6zk4KxpHjqmPk/oidMevxWasyd+bufLE1PwbVCvt7DiFCWRvQaf7NaqS16M+fvl9AJWVN2P3RlxyAeVdWKlPecesnUYSKoX3KX2G8rmh4Jqz8uKE9jE6l1yKwfGknc3LJ/SUNxM3fuhxapxoqkLwknlT47inRPOX1xV6rJ9XMz47mVCcUD0z8okuKrXImlMywkbPyouJIvpmXPHiE3Y66YqXpZYAAAWsSURBVCIoj+NNNfRYfkqfZN6LUy5mYZykfA6GrX33r9AseUmm7mNoxtA+bp6ouQY0caKLEuJozhXmje6Fcl2p1g8qnFcojibPWvtYK8/sOisHe4tfErzwYkAmTTPe5L2whOvAPa6PL6tyMQ2Ws3nQe31nvK7kClRZb2EczT664wdnRZNJeoULwTVnuXmGngrN5T7Wx9FnqDyun1eovBsneqKekEzGvO7BpPTkucrrGcpKs0b9QvJGlscvvBKQr0ozFs4Srtdo/Lxh2a/b1ODZqcpB3DuFZrqSOKmLGkRWbnHqbWIgOj5pLdHKlMSJkrcgmo8wb9KVk7rvAm+o7HkLL6Hq+6jMRzNvxhKSButPTKo8tiH1/xmP8Tg0V4gcJ/s61sSv8rrS5K95nVjFSfoyetzrYHDJ9aDcRzeUftPzFiXEqZK/Mk7qvqcuLW9eebHKlKrsY608U/NP3Ze8fQyN1OeJyjQ/Zxw6mHp87dCEcmniaNYuzCjkvwhf3/o89Ys1jyMUWXhKOa+cqjdadGnR43ImchGyix89Rc5/4bv8hPw1dQjFF+LIi9r8Mm/etSNaNzmrUKrelSrHp+YZKo6cuaZ0SUtISl6TJyrjN3ABGOBeDGwbzRgAAGM0YwAAjNGMAQAwRjMGAMAYzRgAAGM0YwAAjPH3jDPGR9NzT6wSrbBoFeN4iybUMy9Ppeik1Wds3NxWPduNnom5bC5/QjGaUmp6mlOqxElNvlacUJ01x8d4XQ1mSb0GpmeGqy5fcu8Vm3D+c7meacaDU5LGawbr6zk4KxpHjqmPo9kXefxabMZynsopkk5JnQ69K9zo3q8T8p8C/p7xZtqD46FSeJ/SZyifGwquOSsvTmgfo3PJpchYhTer7Dq7qRYGl68H9+Ai/LrQ5JO6L6l5aoLo1xv6UogfOleffyhVodTR9Wry0YSqfnxQtMECk1LNmFd/vDB+6KnsPIU4SfUR4gtBFs5+BfPh7xm7qYYey0/pk0zdVHm6KnGS8jkYtt641KKzpMZ3laxr4bw2hLOEyJrH7lzyvKlxokJBRlqvMF10Ck19UnMrXHJ2kNQ8C2ubnd4YuVVcl5xw3Xmr1Cc1VDAOf894czmbBzeFxqfuR3aQ6MiSOJp9dMd7r61oMql5FtbHW2phfzOCC9fJoD6hfU+Nk5Gt/txonsJjfZ5CfeQ6aPKRn4ouOTuIJs/opG4QzbqU6enzKX+sr0M0/4wiCKdEZcRPChWMw98zdgcrg2enKgdZ36fPqjBO6qIGkZO2OKNoJZeEN07SFSJMkXoRhhaVGic1z9RomjxDhVXOorwy8/KRn8rLJzWI5tyMbcq4hPLmrfU4Y13RZ7NzUFapZI2aUME4/D1jec+U10HSFJr8NVeSVZykL6Pxa9FvZWo+ofHK68QNJQxWxtEnLMePnp66XmXC+s3Ky2cRKHU0H318eVFjPNYMayHPknV5808tgn7eKvVJDRWMw98z9o4X8t98NjtP/WLN4whFFp4Spo7mmUFelJtYaj7yYpM2RV+fjKKtHRmhQkUT4hwc0UwhJBOtszc9YWp99eR5M4Jo6l9yXCiRPk/NvO5C5McZ6wrlv3Zk5CnPq6+PEF8TJ54Pv4ELwCTpb769mN6Kpi1tv2jGAKYk9W1QL6a6rqlK3i+aMQAAxmjGAAAYoxkDAGCMZgwAgDGaMQAAxsZrxt4PkkV/6GrwLB8gBABMn74ZJ7VDb/sM/dC0tzfLYwAAmA5lM07qhZrBNGMAAD6z2Yw3vyEc+l5xaqPNGEMzBgDMy+Cd8aAR5vVCuXPLHd37Lln5jwAAALrkbcaFb0w1Jwp9WjkYAICJCL0zHthCM9a/XQYAYFJSm7GmL4aasdykeVsMAJgp7we4hKao7IuhUMIUwkGaMQBgyvgNXAAAGKMZAwBgjGYMAIAxmjEAAMZoxgAA2Ppvm8BfFvTHFjYAAAAASUVORK5CYII=” alt=”” />

    注:由于此处未指定配置文件,系统采用默认参数

  3、下载对应的配置文件

    由上面cmd输出可知,当前版本为2.6.12

    原页面上打开所有发布版本,找到2.6.12:

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMEAAABPCAIAAADdmjZjAAAFAklEQVR4nO2cvY7iMBRG82rpt13NEywF7zBVCrqsNBLFtEjR1CCh6RFStkAyBUgIKQ1NpEE8g7dIYl//hcBdsrvhO8XKcew4jA/X157RRlIjpqPRVMg/TZEm63TbXh9qcwUx071o+U62Ik7yecl7yPMRjbQ3YjoaTT8/X0c11KdSV49eP0v/Db+CRZqs0+VunKzjZB1XrpT6Mv7564cqv+3KcjdO8vlWNxgvv5pHfc3f1vGsIJdqylW5SJN8vhRxso4TUb1Oucxjz9OsW1Uv9RBiJH3b698HKWWlo3/E4RFJMW3mXkyJIeXnq7fs3tDe6EdRirSaoarHMvfNEyk3E1ZfbkVg2qQsd+O3XWmXi7RyUbXSI9YPV5MqZtqzZtaddyt3Y/oC/vcxHTLaFGlCvR8gESmLKY0x2g+zXpJFr9PqV6T0u6inpM0h+t0tlzl1QrMVem502RzOvqwmWAjpyFEr5Tik2l/7jM2jvuZv7ohDXiJth4gRzaWjkKXXNY2sOK8u2xxy1gXPHASSITckmH3V8105tt61rIqj7Rq1vr9bMyycfMjvkIempZEQBfOh2xwyZ93vkDcZcoYjeUls5jTlMu/mkKzzsI75kMeYO3cM/wuRmKocqHMcCkAeRXmMQ/5kyBmuZR3pGofMz6jXu8BnfMI4FM5ubst6zC6Ue9Yymk+I2dqTD/mToZbhHJypDeT77R/HrXzCfEiHmZBD5r6MxhsrRPkjVptDzc+alOt9WfNDD+zLwidD9hwb+zIzkBi3QvsyywC/EM+9LyOzHnRIthwDGdmSd8kLBgYxa86EaLkKD9Z5Uo06HwolQ+5wUprnQ9b61el8yEiq6Lhruhl84vOhf42hZw/DAw4BLnAIcPn3HAL/G3AIcIFDgAscAlzgEOAChwAXOAS4wCHABQ4BLnAIcIFDgAscAlzgEOAChwAXOAS4RAUAPBCHABc4BLjAIcAFDgEucAhwgUOACxwCXOAQ4AKHABc4BLjAIcAFDgEuD3fochQbgjheHj0i6JnHOnQ5is1mf9IVpz00GhwPdei03+xPlTgb5dJtGuWTKIomeXNZfrxENbqyatTw8nHr/3x4XmXvi8ONnYCiB4fov6q+i0ZKmEaXypVJXpcaW8qPl3vUUcAhHn3HoctRiOOlg0Y0tpCQU1PpVdXT8l3AIR59OKRQ+XUHjfJJNMmDftAlzljJPCqdV1m2WGTv77Uoh8V7ReON4ZBzl9bRal2Zrc5uU2932nI49JdTk7Ky52o08jpk5khkWTNWOMV5lfl8Oa+yek7NOvuuPCxU98Oi8eCwUELoYqi723JQ9LO335/sPVpHjYLrlF8Xby2ZTyfkZKszqfTeNVCVRCxjILe7r+Ww6OOM0acR1yG/LkGHaBiiuA45d+16JZZeouqnh7q7LYdFT+fUpkYdUyJ51SH7RieHnHn0xyF6l9rgBCcVaK7m5gMNSf39roNq1E0gaTlUXZDUZ5JLNx9yhDOmllx41PHdtdIhHbpIltPS3d9yUPT6+zLfWtaOHYfIHkyHG3Lw6DslssODWllCSZK1EuklKlsddNMr+zJSiX3Zn8Vcy8AQ+Au/t2/WMjAQ8LcfgAscAlzgEOAChwAXOAS4wCHABQ4BLnAIcIFDgAscAlzgEOAChwCX6BsAPKLvAPCAQ4ALHAJc4BDgAocAFzgEuMAhwAUOAS5wCHCBQ4ALHAJcfgO4/aL5Bk/T+wAAAABJRU5ErkJggg==” alt=”” />

    下载zip文件:

    aaarticlea/png;base64,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” alt=”” />

    拷贝出redis.conf配置文件至安装目录:

    aaarticlea/png;base64,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” alt=”” />

    aaarticlea/png;base64,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” alt=”” />

    配置文件各字段含义:http://cardyn.iteye.com/blog/794194

    ps:如果配置文件的版本和当前exe程序的版本不匹配,很容易

     由于参数不一致导致server端无法启动。

  4、通过指定的配置文件启动服务端

    aaarticlea/png;base64,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” alt=”” />

  5、客户端访问测试

    另起一个cmd窗口:

    aaarticlea/png;base64,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” alt=”” />

二、基本功能测试

  1、程序基本结构

  aaarticlea/png;base64,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” alt=”” />

  2、主要类

    1)功能类

windows下Redis安装及利用java操作Redis

package com.redis;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool;
import redis.clients.jedis.SortingParams;public class RedisClient { private Jedis jedis;//非切片额客户端连接
private JedisPool jedisPool;//非切片连接池
private ShardedJedis shardedJedis;//切片额客户端连接
private ShardedJedisPool shardedJedisPool;//切片连接池 public RedisClient()
{
initialPool();
initialShardedPool();
shardedJedis = shardedJedisPool.getResource();
jedis = jedisPool.getResource(); } /**
* 初始化非切片池
*/
private void initialPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(20);
config.setMaxIdle(5);
config.setMaxWait(1000l);
config.setTestOnBorrow(false); jedisPool = new JedisPool(config,"127.0.0.1",6379);
} /**
* 初始化切片池
*/
private void initialShardedPool()
{
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(20);
config.setMaxIdle(5);
config.setMaxWait(1000l);
config.setTestOnBorrow(false);
// slave链接
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("127.0.0.1", 6379, "master")); // 构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
} public void show() {
KeyOperate();
StringOperate();
ListOperate();
SetOperate();
SortedSetOperate();
HashOperate();
jedisPool.returnResource(jedis);
shardedJedisPool.returnResource(shardedJedis);
} private void KeyOperate() {
。。。
} private void StringOperate() {
。。。
} private void ListOperate() {
。。。
} private void SetOperate() {
。。。
} private void SortedSetOperate() {
。。。
} private void HashOperate() {
。。。
}
}

windows下Redis安装及利用java操作Redis

    2)测试类

windows下Redis安装及利用java操作Redis

package com.redis;public class Main {    public static void main(String[] args) {
// TODO Auto-generated method stub
new RedisClient().show();
}}

windows下Redis安装及利用java操作Redis

  3、各个功能函数

    1)key功能

windows下Redis安装及利用java操作Redis

private void KeyOperate()
{
System.out.println("======================key==========================");
// 清空数据
System.out.println("清空库中所有数据:"+jedis.flushDB());
// 判断key否存在
System.out.println("判断key999键是否存在:"+shardedJedis.exists("key999"));
System.out.println("新增key001,value001键值对:"+shardedJedis.set("key001", "value001"));
System.out.println("判断key001是否存在:"+shardedJedis.exists("key001"));
// 输出系统中所有的key
System.out.println("新增key002,value002键值对:"+shardedJedis.set("key002", "value002"));
System.out.println("系统中所有键如下:");
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}
// 删除某个key,若key不存在,则忽略该命令。
System.out.println("系统中删除key002: "+jedis.del("key002"));
System.out.println("判断key002是否存在:"+shardedJedis.exists("key002"));
// 设置 key001的过期时间
System.out.println("设置 key001的过期时间为5秒:"+jedis.expire("key001", 5));
try{
Thread.sleep(2000);
}
catch (InterruptedException e){
}
// 查看某个key的剩余生存时间,单位【秒】.永久生存或者不存在的都返回-1
System.out.println("查看key001的剩余生存时间:"+jedis.ttl("key001"));
// 移除某个key的生存时间
System.out.println("移除key001的生存时间:"+jedis.persist("key001"));
System.out.println("查看key001的剩余生存时间:"+jedis.ttl("key001"));
// 查看key所储存的值的类型
System.out.println("查看key所储存的值的类型:"+jedis.type("key001"));
/*
* 一些其他方法:1、修改键名:jedis.rename("key6", "key0");
* 2、将当前db的key移动到给定的db当中:jedis.move("foo", 1)
*/
}

windows下Redis安装及利用java操作Redis

    运行结果:

windows下Redis安装及利用java操作Redis

======================key==========================
清空库中所有数据:OK
判断key999键是否存在:false
新增key001,value001键值对:OK
判断key001是否存在:true
新增key002,value002键值对:OK
系统中所有键如下:
key002
key001
系统中删除key002: 1
判断key002是否存在:false
设置 key001的过期时间为5秒:1
查看key001的剩余生存时间:3
移除key001的生存时间:1
查看key001的剩余生存时间:-1
查看key所储存的值的类型:string

windows下Redis安装及利用java操作Redis

    2)String功能

windows下Redis安装及利用java操作Redis

private void StringOperate()
{
System.out.println("======================String_1==========================");
// 清空数据
System.out.println("清空库中所有数据:"+jedis.flushDB()); System.out.println("=============增=============");
jedis.set("key001","value001");
jedis.set("key002","value002");
jedis.set("key003","value003");
System.out.println("已新增的3个键值对如下:");
System.out.println(jedis.get("key001"));
System.out.println(jedis.get("key002"));
System.out.println(jedis.get("key003")); System.out.println("=============删=============");
System.out.println("删除key003键值对:"+jedis.del("key003"));
System.out.println("获取key003键对应的值:"+jedis.get("key003")); System.out.println("=============改=============");
//1、直接覆盖原来的数据
System.out.println("直接覆盖key001原来的数据:"+jedis.set("key001","value001-update"));
System.out.println("获取key001对应的新值:"+jedis.get("key001"));
//2、直接覆盖原来的数据
System.out.println("在key002原来值后面追加:"+jedis.append("key002","+appendString"));
System.out.println("获取key002对应的新值"+jedis.get("key002")); System.out.println("=============增,删,查(多个)=============");
/**
* mset,mget同时新增,修改,查询多个键值对
* 等价于:
* jedis.set("name","ssss");
* jedis.set("jarorwar","xxxx");
*/
System.out.println("一次性新增key201,key202,key203,key204及其对应值:"+jedis.mset("key201","value201",
"key202","value202","key203","value203","key204","value204"));
System.out.println("一次性获取key201,key202,key203,key204各自对应的值:"+
jedis.mget("key201","key202","key203","key204"));
System.out.println("一次性删除key201,key202:"+jedis.del(new String[]{"key201", "key202"}));
System.out.println("一次性获取key201,key202,key203,key204各自对应的值:"+
jedis.mget("key201","key202","key203","key204"));
System.out.println(); //jedis具备的功能shardedJedis中也可直接使用,下面测试一些前面没用过的方法
System.out.println("======================String_2==========================");
// 清空数据
System.out.println("清空库中所有数据:"+jedis.flushDB()); System.out.println("=============新增键值对时防止覆盖原先值=============");
System.out.println("原先key301不存在时,新增key301:"+shardedJedis.setnx("key301", "value301"));
System.out.println("原先key302不存在时,新增key302:"+shardedJedis.setnx("key302", "value302"));
System.out.println("当key302存在时,尝试新增key302:"+shardedJedis.setnx("key302", "value302_new"));
System.out.println("获取key301对应的值:"+shardedJedis.get("key301"));
System.out.println("获取key302对应的值:"+shardedJedis.get("key302")); System.out.println("=============超过有效期键值对被删除=============");
// 设置key的有效期,并存储数据
System.out.println("新增key303,并指定过期时间为2秒"+shardedJedis.setex("key303", 2, "key303-2second"));
System.out.println("获取key303对应的值:"+shardedJedis.get("key303"));
try{
Thread.sleep(3000);
}
catch (InterruptedException e){
}
System.out.println("3秒之后,获取key303对应的值:"+shardedJedis.get("key303")); System.out.println("=============获取原值,更新为新值一步完成=============");
System.out.println("key302原值:"+shardedJedis.getSet("key302", "value302-after-getset"));
System.out.println("key302新值:"+shardedJedis.get("key302")); System.out.println("=============获取子串=============");
System.out.println("获取key302对应值中的子串:"+shardedJedis.getrange("key302", 5, 7));
}

windows下Redis安装及利用java操作Redis

      运行结果:

windows下Redis安装及利用java操作Redis

======================String_1==========================
清空库中所有数据:OK
=============增=============
已新增的3个键值对如下:
value001
value002
value003
=============删=============
删除key003键值对:1
获取key003键对应的值:null
=============改=============
直接覆盖key001原来的数据:OK
获取key001对应的新值:value001-update
在key002原来值后面追加:21
获取key002对应的新值value002+appendString
=============增,删,查(多个)=============
一次性新增key201,key202,key203,key204及其对应值:OK
一次性获取key201,key202,key203,key204各自对应的值:[value201, value202, value203, value204]
一次性删除key201,key202:2
一次性获取key201,key202,key203,key204各自对应的值:[null, null, value203, value204]======================String_2==========================
清空库中所有数据:OK
=============新增键值对时防止覆盖原先值=============
原先key301不存在时,新增key301:1
原先key302不存在时,新增key302:1
当key302存在时,尝试新增key302:0
获取key301对应的值:value301
获取key302对应的值:value302
=============超过有效期键值对被删除=============
新增key303,并指定过期时间为2秒OK
获取key303对应的值:key303-2second
3秒之后,获取key303对应的值:null
=============获取原值,更新为新值一步完成=============
key302原值:value302
key302新值:value302-after-getset
=============获取子串=============
获取key302对应值中的子串:302

windows下Redis安装及利用java操作Redis

    3)List功能

windows下Redis安装及利用java操作Redis

private void ListOperate()
{
System.out.println("======================list==========================");
// 清空数据
System.out.println("清空库中所有数据:"+jedis.flushDB()); System.out.println("=============增=============");
shardedJedis.lpush("stringlists", "vector");
shardedJedis.lpush("stringlists", "ArrayList");
shardedJedis.lpush("stringlists", "vector");
shardedJedis.lpush("stringlists", "vector");
shardedJedis.lpush("stringlists", "LinkedList");
shardedJedis.lpush("stringlists", "MapList");
shardedJedis.lpush("stringlists", "SerialList");
shardedJedis.lpush("stringlists", "HashList");
shardedJedis.lpush("numberlists", "3");
shardedJedis.lpush("numberlists", "1");
shardedJedis.lpush("numberlists", "5");
shardedJedis.lpush("numberlists", "2");
System.out.println("所有元素-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));
System.out.println("所有元素-numberlists:"+shardedJedis.lrange("numberlists", 0, -1)); System.out.println("=============删=============");
// 删除列表指定的值 ,第二个参数为删除的个数(有重复时),后add进去的值先被删,类似于出栈
System.out.println("成功删除指定元素个数-stringlists:"+shardedJedis.lrem("stringlists", 2, "vector"));
System.out.println("删除指定元素之后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));
// 删除区间以外的数据
System.out.println("删除下标0-3区间之外的元素:"+shardedJedis.ltrim("stringlists", 0, 3));
System.out.println("删除指定区间之外元素后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));
// 列表元素出栈
System.out.println("出栈元素:"+shardedJedis.lpop("stringlists"));
System.out.println("元素出栈后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1)); System.out.println("=============改=============");
// 修改列表中指定下标的值
shardedJedis.lset("stringlists", 0, "hello list!");
System.out.println("下标为0的值修改后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));
System.out.println("=============查=============");
// 数组长度
System.out.println("长度-stringlists:"+shardedJedis.llen("stringlists"));
System.out.println("长度-numberlists:"+shardedJedis.llen("numberlists"));
// 排序
/*
* list中存字符串时必须指定参数为alpha,如果不使用SortingParams,而是直接使用sort("list"),
* 会出现"ERR One or more scores can't be converted into double"
*/
SortingParams sortingParameters = new SortingParams();
sortingParameters.alpha();
sortingParameters.limit(0, 3);
System.out.println("返回排序后的结果-stringlists:"+shardedJedis.sort("stringlists",sortingParameters));
System.out.println("返回排序后的结果-numberlists:"+shardedJedis.sort("numberlists"));
// 子串: start为元素下标,end也为元素下标;-1代表倒数一个元素,-2代表倒数第二个元素
System.out.println("子串-第二个开始到结束:"+shardedJedis.lrange("stringlists", 1, -1));
// 获取列表指定下标的值
System.out.println("获取下标为2的元素:"+shardedJedis.lindex("stringlists", 2)+"\n");
}

windows下Redis安装及利用java操作Redis

      运行结果:

windows下Redis安装及利用java操作Redis

======================list==========================
清空库中所有数据:OK
=============增=============
所有元素-stringlists:[HashList, SerialList, MapList, LinkedList, vector, vector, ArrayList, vector]
所有元素-numberlists:[2, 5, 1, 3]
=============删=============
成功删除指定元素个数-stringlists:2
删除指定元素之后-stringlists:[HashList, SerialList, MapList, LinkedList, ArrayList, vector]
删除下标0-3区间之外的元素:OK
删除指定区间之外元素后-stringlists:[HashList, SerialList, MapList, LinkedList]
出栈元素:HashList
元素出栈后-stringlists:[SerialList, MapList, LinkedList]
=============改=============
下标为0的值修改后-stringlists:[hello list!, MapList, LinkedList]
=============查=============
长度-stringlists:3
长度-numberlists:4
返回排序后的结果-stringlists:[LinkedList, MapList, hello list!]
返回排序后的结果-numberlists:[1, 2, 3, 5]
子串-第二个开始到结束:[MapList, LinkedList]
获取下标为2的元素:LinkedList

windows下Redis安装及利用java操作Redis

    4)Set功能

windows下Redis安装及利用java操作Redis

 private void SetOperate()
{ System.out.println("======================set==========================");
// 清空数据
System.out.println("清空库中所有数据:"+jedis.flushDB()); System.out.println("=============增=============");
System.out.println("向sets集合中加入元素element001:"+jedis.sadd("sets", "element001"));
System.out.println("向sets集合中加入元素element002:"+jedis.sadd("sets", "element002"));
System.out.println("向sets集合中加入元素element003:"+jedis.sadd("sets", "element003"));
System.out.println("向sets集合中加入元素element004:"+jedis.sadd("sets", "element004"));
System.out.println("查看sets集合中的所有元素:"+jedis.smembers("sets"));
System.out.println(); System.out.println("=============删=============");
System.out.println("集合sets中删除元素element003:"+jedis.srem("sets", "element003"));
System.out.println("查看sets集合中的所有元素:"+jedis.smembers("sets"));
/*System.out.println("sets集合中任意位置的元素出栈:"+jedis.spop("sets"));//注:出栈元素位置居然不定?--无实际意义
System.out.println("查看sets集合中的所有元素:"+jedis.smembers("sets"));*/
System.out.println(); System.out.println("=============改=============");
System.out.println(); System.out.println("=============查=============");
System.out.println("判断element001是否在集合sets中:"+jedis.sismember("sets", "element001"));
System.out.println("循环查询获取sets中的每个元素:");
Set<String> set = jedis.smembers("sets");
Iterator<String> it=set.iterator() ;
while(it.hasNext()){
Object obj=it.next();
System.out.println(obj);
}
System.out.println(); System.out.println("=============集合运算=============");
System.out.println("sets1中添加元素element001:"+jedis.sadd("sets1", "element001"));
System.out.println("sets1中添加元素element002:"+jedis.sadd("sets1", "element002"));
System.out.println("sets1中添加元素element003:"+jedis.sadd("sets1", "element003"));
System.out.println("sets1中添加元素element002:"+jedis.sadd("sets2", "element002"));
System.out.println("sets1中添加元素element003:"+jedis.sadd("sets2", "element003"));
System.out.println("sets1中添加元素element004:"+jedis.sadd("sets2", "element004"));
System.out.println("查看sets1集合中的所有元素:"+jedis.smembers("sets1"));
System.out.println("查看sets2集合中的所有元素:"+jedis.smembers("sets2"));
System.out.println("sets1和sets2交集:"+jedis.sinter("sets1", "sets2"));
System.out.println("sets1和sets2并集:"+jedis.sunion("sets1", "sets2"));
System.out.println("sets1和sets2差集:"+jedis.sdiff("sets1", "sets2"));//差集:set1中有,set2中没有的元素 }

windows下Redis安装及利用java操作Redis

      运行结果:

windows下Redis安装及利用java操作Redis

======================set==========================
清空库中所有数据:OK
=============增=============
向sets集合中加入元素element001:1
向sets集合中加入元素element002:1
向sets集合中加入元素element003:1
向sets集合中加入元素element004:1
查看sets集合中的所有元素:[element001, element002, element003, element004]=============删=============
集合sets中删除元素element003:1
查看sets集合中的所有元素:[element001, element002, element004]=============改==========================查=============
判断element001是否在集合sets中:true
循环查询获取sets中的每个元素:
element001
element002
element004=============集合运算=============
sets1中添加元素element001:1
sets1中添加元素element002:1
sets1中添加元素element003:1
sets1中添加元素element002:1
sets1中添加元素element003:1
sets1中添加元素element004:1
查看sets1集合中的所有元素:[element001, element002, element003]
查看sets2集合中的所有元素:[element002, element003, element004]
sets1和sets2交集:[element002, element003]
sets1和sets2并集:[element001, element002, element003, element004]
sets1和sets2差集:[element001]

windows下Redis安装及利用java操作Redis

    5)SortedSet功能(有序集合)

windows下Redis安装及利用java操作Redis

private void SortedSetOperate()
{
System.out.println("======================zset==========================");
// 清空数据
System.out.println(jedis.flushDB()); System.out.println("=============增=============");
System.out.println("zset中添加元素element001:"+shardedJedis.zadd("zset", 7.0, "element001"));
System.out.println("zset中添加元素element002:"+shardedJedis.zadd("zset", 8.0, "element002"));
System.out.println("zset中添加元素element003:"+shardedJedis.zadd("zset", 2.0, "element003"));
System.out.println("zset中添加元素element004:"+shardedJedis.zadd("zset", 3.0, "element004"));
System.out.println("zset集合中的所有元素:"+shardedJedis.zrange("zset", 0, -1));//按照权重值排序
System.out.println(); System.out.println("=============删=============");
System.out.println("zset中删除元素element002:"+shardedJedis.zrem("zset", "element002"));
System.out.println("zset集合中的所有元素:"+shardedJedis.zrange("zset", 0, -1));
System.out.println(); System.out.println("=============改=============");
System.out.println(); System.out.println("=============查=============");
System.out.println("统计zset集合中的元素中个数:"+shardedJedis.zcard("zset"));
System.out.println("统计zset集合中权重某个范围内(1.0——5.0),元素的个数:"+shardedJedis.zcount("zset", 1.0, 5.0));
System.out.println("查看zset集合中element004的权重:"+shardedJedis.zscore("zset", "element004"));
System.out.println("查看下标1到2范围内的元素值:"+shardedJedis.zrange("zset", 1, 2)); }

windows下Redis安装及利用java操作Redis

      运行结果:

windows下Redis安装及利用java操作Redis

======================zset==========================
OK
=============增=============
zset中添加元素element001:1
zset中添加元素element002:1
zset中添加元素element003:1
zset中添加元素element004:1
zset集合中的所有元素:[element003, element004, element001, element002]=============删=============
zset中删除元素element002:1
zset集合中的所有元素:[element003, element004, element001]=============改==========================查=============
统计zset集合中的元素中个数:3
统计zset集合中权重某个范围内(1.0——5.0),元素的个数:2
查看zset集合中element004的权重:3.0
查看下标1到2范围内的元素值:[element004, element001]

windows下Redis安装及利用java操作Redis

    6)Hash功能

windows下Redis安装及利用java操作Redis

private void HashOperate()
{
System.out.println("======================hash==========================");
//清空数据
System.out.println(jedis.flushDB()); System.out.println("=============增=============");
System.out.println("hashs中添加key001和value001键值对:"+shardedJedis.hset("hashs", "key001", "value001"));
System.out.println("hashs中添加key002和value002键值对:"+shardedJedis.hset("hashs", "key002", "value002"));
System.out.println("hashs中添加key003和value003键值对:"+shardedJedis.hset("hashs", "key003", "value003"));
System.out.println("新增key004和4的整型键值对:"+shardedJedis.hincrBy("hashs", "key004", 4l));
System.out.println("hashs中的所有值:"+shardedJedis.hvals("hashs"));
System.out.println(); System.out.println("=============删=============");
System.out.println("hashs中删除key002键值对:"+shardedJedis.hdel("hashs", "key002"));
System.out.println("hashs中的所有值:"+shardedJedis.hvals("hashs"));
System.out.println(); System.out.println("=============改=============");
System.out.println("key004整型键值的值增加100:"+shardedJedis.hincrBy("hashs", "key004", 100l));
System.out.println("hashs中的所有值:"+shardedJedis.hvals("hashs"));
System.out.println(); System.out.println("=============查=============");
System.out.println("判断key003是否存在:"+shardedJedis.hexists("hashs", "key003"));
System.out.println("获取key004对应的值:"+shardedJedis.hget("hashs", "key004"));
System.out.println("批量获取key001和key003对应的值:"+shardedJedis.hmget("hashs", "key001", "key003"));
System.out.println("获取hashs中所有的key:"+shardedJedis.hkeys("hashs"));
System.out.println("获取hashs中所有的value:"+shardedJedis.hvals("hashs"));
System.out.println(); }

windows下Redis安装及利用java操作Redis

      运行结果:

windows下Redis安装及利用java操作Redis

======================hash==========================
OK
=============增=============
hashs中添加key001和value001键值对:1
hashs中添加key002和value002键值对:1
hashs中添加key003和value003键值对:1
新增key004和4的整型键值对:4
hashs中的所有值:[value001, value002, value003, 4]=============删=============
hashs中删除key002键值对:1
hashs中的所有值:[value001, value003, 4]=============改=============
key004整型键值的值增加100:104
hashs中的所有值:[value001, value003, 104]=============查=============
判断key003是否存在:true
获取key004对应的值:104
批量获取key001和key003对应的值:[value001, value003]
获取hashs中所有的key:[key004, key003, key001]
获取hashs中所有的value:[value001, value003, 104]

windows下Redis安装及利用java操作Redis

三、常用命令
    1)连接操作命令
    quit:关闭连接(connection)
    auth:简单密码认证
    help cmd: 查看cmd帮助,例如:help quit
    
    2)持久化
    save:将数据同步保存到磁盘
    bgsave:将数据异步保存到磁盘
    lastsave:返回上次成功将数据保存到磁盘的Unix时戳
    shundown:将数据同步保存到磁盘,然后关闭服务
    
    3)远程服务控制
    info:提供服务器的信息和统计
    monitor:实时转储收到的请求
    slaveof:改变复制策略设置
    config:在运行时配置Redis服务器
    
    4)对value操作的命令
    exists(key):确认一个key是否存在
    del(key):删除一个key
    type(key):返回值的类型
    keys(pattern):返回满足给定pattern的所有key
    randomkey:随机返回key空间的一个
    keyrename(oldname, newname):重命名key
    dbsize:返回当前数据库中key的数目
    expire:设定一个key的活动时间(s)
    ttl:获得一个key的活动时间
    select(index):按索引查询
    move(key, dbindex):移动当前数据库中的key到dbindex数据库
    flushdb:删除当前选择数据库中的所有key
    flushall:删除所有数据库中的所有key
    
    5)String
    set(key, value):给数据库中名称为key的string赋予值value
    get(key):返回数据库中名称为key的string的value
    getset(key, value):给名称为key的string赋予上一次的value
    mget(key1, key2,…, key N):返回库中多个string的value
    setnx(key, value):添加string,名称为key,值为value
    setex(key, time, value):向库中添加string,设定过期时间time
    mset(key N, value N):批量设置多个string的值
    msetnx(key N, value N):如果所有名称为key i的string都不存在
    incr(key):名称为key的string增1操作
    incrby(key, integer):名称为key的string增加integer
    decr(key):名称为key的string减1操作
    decrby(key, integer):名称为key的string减少integer
    append(key, value):名称为key的string的值附加value
    substr(key, start, end):返回名称为key的string的value的子串
    
    6)List 
    rpush(key, value):在名称为key的list尾添加一个值为value的元素
    lpush(key, value):在名称为key的list头添加一个值为value的 元素
    llen(key):返回名称为key的list的长度
    lrange(key, start, end):返回名称为key的list中start至end之间的元素
    ltrim(key, start, end):截取名称为key的list
    lindex(key, index):返回名称为key的list中index位置的元素
    lset(key, index, value):给名称为key的list中index位置的元素赋值
    lrem(key, count, value):删除count个key的list中值为value的元素
    lpop(key):返回并删除名称为key的list中的首元素
    rpop(key):返回并删除名称为key的list中的尾元素
    blpop(key1, key2,… key N, timeout):lpop命令的block版本。
    brpop(key1, key2,… key N, timeout):rpop的block版本。
    rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,

              并将该元素添加到名称为dstkey的list的头部
    
    7)Set
    sadd(key, member):向名称为key的set中添加元素member
    srem(key, member) :删除名称为key的set中的元素member
    spop(key) :随机返回并删除名称为key的set中一个元素
    smove(srckey, dstkey, member) :移到集合元素
    scard(key) :返回名称为key的set的基数
    sismember(key, member) :member是否是名称为key的set的元素
    sinter(key1, key2,…key N) :求交集
    sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
    sunion(key1, (keys)) :求并集
    sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
    sdiff(key1, (keys)) :求差集
    sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
    smembers(key) :返回名称为key的set的所有元素
    srandmember(key) :随机返回名称为key的set的一个元素
    
    8)Hash
    hset(key, field, value):向名称为key的hash中添加元素field
    hget(key, field):返回名称为key的hash中field对应的value
    hmget(key, (fields)):返回名称为key的hash中field i对应的value
    hmset(key, (fields)):向名称为key的hash中添加元素field 
    hincrby(key, field, integer):将名称为key的hash中field的value增加integer
    hexists(key, field):名称为key的hash中是否存在键为field的域
    hdel(key, field):删除名称为key的hash中键为field的域
    hlen(key):返回名称为key的hash中元素个数
    hkeys(key):返回名称为key的hash中所有键
    hvals(key):返回名称为key的hash中所有键对应的value
    hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

  参考:http://blog.csdn.net/ithomer/article/details/9213185

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,565
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,413
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,186
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905