日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初学Jedis

發布時間:2024/9/21 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初学Jedis 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

0基本概念

Jedis: 一款java操作redis數據庫的工具.
?? ??? ?* 使用步驟:
?? ??? ??? ?1. 下載jedis的jar包
?? ??? ??? ?2. 使用
?? ??? ??? ??? ?//1. 獲取連接
? ? ? ? ?? ??? ?Jedis jedis = new Jedis("localhost",6379);
? ? ? ??? ??? ??? ?//2. 操作
? ? ? ??? ??? ??? ?jedis.set("username","zhangsan");
? ? ? ? ?? ??? ?//3. 關閉連接
? ? ? ? ?? ??? ?jedis.close();

一.?Jedis操作各種redis中的數據結構

1.1 字符串類型 string

setget//1. 獲取連接Jedis jedis = new Jedis();//如果使用空參構造,默認值 "localhost",6379端口//2. 操作//存儲jedis.set("username","zhangsan");//獲取String username = jedis.get("username");System.out.println(username);//可以使用setex()方法存儲可以指定過期時間的 key valuejedis.setex("activecode",20,"hehe");//將activecode:hehe鍵值對存入redis,并且20秒后自動刪除該鍵值對//3. 關閉連接jedis.close();

1.2 哈希類型 hash : map格式 ?

? ?hsethgethgetAll//1. 獲取連接Jedis jedis = new Jedis();//如果使用空參構造,默認值 "localhost",6379端口//2. 操作// 存儲hashjedis.hset("user","name","lisi");jedis.hset("user","age","23");jedis.hset("user","gender","female");// 獲取hashString name = jedis.hget("user", "name");System.out.println(name);// 獲取hash的所有map中的數據Map<String, String> user = jedis.hgetAll("user");// keysetSet<String> keySet = user.keySet();for (String key : keySet) {//獲取valueString value = user.get(key);System.out.println(key + ":" + value);}//3. 關閉連接jedis.close();

1.3列表類型 list : linkedlist格式。支持重復元素

lpush / rpushlpop / rpoplrange 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");//cSystem.out.println(element1);String element2 = jedis.rpop("mylist");//cSystem.out.println(element2);// list 范圍獲取List<String> mylist2 = jedis.lrange("mylist", 0, -1);System.out.println(mylist2);//3. 關閉連接jedis.close();

1.4集合類型 set ?: 不允許重復元素

saddsmembers:獲取所有元素//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();

1.5有序集合類型 sortedset:不允許重復元素,且元素有順序

zaddzrange//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();

* 連接池工具類

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")));//初始化JedisPooljedisPool = new JedisPool(config,pro.getProperty("host"),Integer.parseInt(pro.getProperty("port")));}/*** 獲取連接方法*/public static Jedis getJedis(){return jedisPool.getResource();}}

三.案例

案例需求:
?? ??? ?1. 提供index.html頁面,頁面中有一個省份 下拉列表
?? ??? ?2. 當 頁面加載完成后 發送ajax請求,加載所有省份


?? ?* 注意:使用redis緩存一些不經常發生變化的數據。
?? ??? ?* 數據庫的數據一旦發生改變,則需要更新緩存。
?? ??? ??? ?* 數據庫的表執行 增刪改的相關操作,需要將redis緩存數據情況,再次存入
?? ??? ??? ?* 在service對應的增刪改方法中,將redis數據刪除。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的初学Jedis的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。