您好,登錄后才能下訂單哦!
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)); } }
關(guān)于JAVA程序中怎么操作Redis 問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責聲明:本站發(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)容。