溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JAVA程序中怎么操作Redis

發(fā)布時間:2021-07-15 11:11:38 來源:億速云 閱讀:158 作者:Leah 欄目:云計算

JAVA程序中怎么操作Redis ,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

package redisdemo.redistest;
 
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
 
 
import redis.clients.jedis.Jedis;
/**
 * Redis 基本操作方法
 * <dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.7.3</version>
</dependency>
    
 * @QQ : 525354786
 * @author gaojingsong
 *
 */
public class TestRedis {
    private static Jedis jedis; 
    
    public static void main(String[] args) throws Exception {
    connect();
    testString();
    testMap();
   
//    testList();
   
    testSet();
   
//    testSort();
}
    public static void connect() {
        //連接redis服務(wù)器,192.168.0.100:6379
        jedis = new Jedis("192.168.1.111", 6379);
        //權(quán)限認證
        //jedis.auth("admin");  
    }
    
    /**
     * redis存儲字符串
     */
    public static void testString() {
        //-----添加數(shù)據(jù)----------  
        jedis.set("name","張三");//向key-->name中放入了value-->張三  
        System.out.println(jedis.get("name"));//執(zhí)行結(jié)果:張三  
        
        jedis.append("name", "李四"); //拼接
        System.out.println(jedis.get("name")); 
        
        jedis.del("name");  //刪除某個鍵
        System.out.println(jedis.get("name"));
        //設(shè)置多個鍵值對
        jedis.mset("name","張思德","age","23","qq","111111");
        jedis.incr("age"); //進行加1操作
        System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));
        
    }
    
    /**
     * redis操作Map
     */
    public static void testMap() {
        //-----添加數(shù)據(jù)----------  
        Map<String, String> map = new HashMap<String, String>();
        map.put("name", "李四");
        map.put("age", "22");
        map.put("qq", "123456");
        jedis.hmset("user",map);
        //取出user中的name,執(zhí)行結(jié)果:[minxr]-->注意結(jié)果是一個泛型的List  
        //第一個參數(shù)是存入redis中map對象的key,后面跟的是放入map中的對象的key,后面的key可以跟多個,是可變參數(shù)  
        List<String> rsmap = jedis.hmget("user", "name", "age", "qq");
        System.out.println(rsmap);  
  
        //刪除map中的某個鍵值  
        jedis.hdel("user","age");
        System.out.println(jedis.hmget("user", "age")); //因為刪除了,所以返回的是null  
        System.out.println(jedis.hlen("user")); //返回key為user的鍵中存放的值的個數(shù)2 
        System.out.println(jedis.exists("user"));//是否存在key為user的記錄 返回true  
        System.out.println(jedis.hkeys("user"));//返回map對象中的所有key  
        System.out.println(jedis.hvals("user"));//返回map對象中的所有value 
  
        Iterator<String> iter=jedis.hkeys("user").iterator();  
        while (iter.hasNext()){  
            String key = iter.next();  
            System.out.println(key+":"+jedis.hmget("user",key));  
        }  
    }
    
    /** 
     * jedis操作List 
     */  
    public static void testList(){  
        //開始前,先移除所有的內(nèi)容  
        jedis.del("program");  
        System.out.println(jedis.lrange("program",0,-1));  
        //先向key program中存放三條數(shù)據(jù)  
        jedis.lpush("program","JAVA");  
        jedis.lpush("program","PHP");  
        jedis.lpush("program","ASP");  
        //再取出所有數(shù)據(jù)jedis.lrange是按范圍取出,  
        // 第一個是key,第二個是起始位置,第三個是結(jié)束位置,jedis.llen獲取長度 -1表示取得所有  
        System.out.println(jedis.lrange("program",0,-1));  
        
        jedis.del("program");
        jedis.rpush("program","spring");  
        jedis.rpush("program","struts");  
        jedis.rpush("program","hibernate"); 
        System.out.println(jedis.lrange("program",0,-1));
    }  
    
    /** 
     * jedis操作Set 
     */  
    public static void testSet(){  
        //添加  
        jedis.sadd("kuser",new String[]{"2","4"});  
 
        System.out.println(jedis.smembers("kuser"));//獲取所有加入的value  
 
    }  
  
    /** 
     * jedis操作Sort
     */
    public static void testSort() throws InterruptedException {  
        //jedis 排序  
        //注意,此處的rpush和lpush是List的操作。是一個雙向鏈表(但從表現(xiàn)來看的)  
        jedis.del("st");//先清除數(shù)據(jù),再加入數(shù)據(jù)進行測試  
        jedis.rpush("st", "1");  
        jedis.lpush("st","6");  
        jedis.lpush("st","3");  
        jedis.lpush("st","9");  
        System.out.println(jedis.lrange("st",0,-1));// [9, 3, 6, 1]  
        System.out.println(jedis.sort("st")); //[1, 3, 6, 9]  //輸入排序后結(jié)果  
        System.out.println(jedis.lrange("st",0,-1));  
    }  
 
}


JAVA程序中怎么操作Redis
 

關(guān)于JAVA程序中怎么操作Redis 問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI