redis入門demo


redis是什么?

     REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。 Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基於內存亦可持久化的日志型、Key-Value數據庫,並提供多種語言的API。

為什么使用redis?

● 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

● 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。

● 原子 – Redis的所有操作都是原子性的,意思就是要么成功執行要么失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC指令包起來。

● 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。 

redis使用步驟

准備工作,在本機上安裝redis服務器。這里使用Redis-x64-3.2.100 .msi版本,百度雲盤地址:
第一步:啟動本地的Redis服務;
  第二步:連接本地的Redis服務,並且設置值,以便於在java代碼中獲取。實際上也可以在java代碼中設置值,然后獲取,為了直觀地感受到,這里直接在命令
提示符下設置Redis的值,然后通過設置的key在java中獲取設置的value值。
  第三步:在java代碼中獲取Redis中設置的值。

1、啟動redis服務

cmd打開命令行,輸入如圖啟動redis:

 

2、連接本地的Redis服務

 

3、在java中使用redis

在java用使用redis依賴於jedis-2.9.0.jar包,百度雲盤地址:
目錄:

 

連接redis:RedisJava.java
 
 1 package cn.redisdemo;
 2 
 3 import redis.clients.jedis.Jedis;
 4 
 5 public class RedisJava {
 6     /**
 7      * 連接redis服務器
 8      */
 9     public void connection(){
10     // 連接本地的 Redis 服務
11         Jedis jedis = new Jedis("localhost");
12         System.out.println("連接本地的 Redis 服務成功!");
13         // 查看服務是否運行
14         System.out.println("服務 正在運行: " + jedis.ping());
15     }
16 }

 

測試類:
 
效果:

redis存取字符串:

連接redis:RedisJava.java(單例)
 1 package cn.redisdemo;
 2 
 3 import redis.clients.jedis.Jedis;
 4 
 5 public class RedisJava {
 6     private static Jedis jedis = new Jedis("localhost");
 7     private RedisJava(){};
 8     /**
 9      * 連接redis服務器
10      */
11     public static Jedis getConnection(){
12             return jedis;
13     }
14 }

 

測試類:
 1 package test;
 2 
 3 import org.junit.Test;
 4 
 5 import redis.clients.jedis.Jedis;
 6 import cn.redisdemo.RedisJava;
 7 
 8 public class RedisJavaTest {
 9     @Test
10     public void test() {
11         Jedis jedis = RedisJava.getConnection();
12         //set值
13         jedis.set("str1", "test1");
14         //get值
15         String str1 = jedis.get("str1");
16         //打印測試
17         System.out.println("str1的值:" + str1);
18     }
19 }
效果:

 

redis存取List集合

 

 1 @Test
 2 public void testList(){
 3     Jedis jedis = RedisJava.getConnection();
 4     // 存儲數據到列表中
 5     jedis.lpush("kecheng", "java");
 6     jedis.lpush("kecheng", "php");
 7     jedis.lpush("kecheng", "Mysql");
 8         
 9     // 獲取存儲的數據並輸出//0代表開始下標,-1代表所有,其他大於零數代表結束下標
10     List<String> list = jedis.lrange("kecheng", 0, -1);
11     for (int i = 0; i < list.size(); i++) {
12         System.out.println("redis list里面存儲的值是:" + list.get(i));
13     }
14 }

 

 

 

效果:
 
補充:
//List<String> list = jedis.lrange("kecheng", 0, jedis.llen("kecheng")); //jedis.llen獲取長度
//jedis.del("kecheng");//移除該List里的值

菜鳥教程:http://www.runoob.com/redis/redis-commands.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM