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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

jedis操作redis(一)

發布時間:2025/7/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jedis操作redis(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

redis是一個常用的內存Nosql數據庫,為什么要用nosql,為什么要用redis不用memcache這些很多博客以及講得很清楚了。
下面介紹redis的5大基本數據類型的常用操作:
STRING(也可以是字符串、浮點數、整數) 對整個字符串或者字符串的其中的一部分執行操作,對整數或者浮點數進行自增或者自減
LIST(有序) 鏈表
SET(無序) 集合
HASH(無序) 散列表 類似于java中的HashMap
ZSET(有序集合) 字符串成員 和 浮點數分值的有序映射
下面是使用java版本的redis的客戶端jedis對redis進行操作的相關的api的測試:
maven依賴如下:

<dependencies><!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version></dependency><!-- https://mvnrepository.com/artifact/junit/junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies> public class JedisApiTest {private Jedis jedis;@Rulepublic ExpectedException expectedEx = ExpectedException.none();@Beforepublic void before() {jedis = new Jedis("127.0.0.1", 6379);}@Testpublic void test() {// redis 中 String數據類型的常用的操作相關測試// 首先先清空所有的鍵值對// jedis.flushAll();// 清除所有測試要用到的 keyjedis.del("hello", "name", "age", "ages");// 設置 key - valueAssert.assertEquals("OK", jedis.set("hello", "world"));// 獲取 key - valueAssert.assertEquals("world", jedis.get("hello"));// append valuejedis.append("hello", "!");Assert.assertEquals("world!", jedis.get("hello"));// 刪除valueAssert.assertEquals(Long.valueOf(1l), jedis.del("hello"));// 刪除不存在的可以Assert.assertEquals(Long.valueOf(0l), jedis.del("hello"));// 獲取不存在的 keyAssert.assertEquals(null, jedis.get("hello"));// 同時設置多個值Assert.assertEquals("OK", jedis.mset("name", "liuling", "age", "23", "qq", "476777XXX"));// incr增加一個值 返回結果是增加后的值Assert.assertEquals(Long.valueOf(24l), jedis.incr("age"));// 增加一個不存在的值 會set這個值并且值為一Assert.assertEquals(Long.valueOf(1l), jedis.incr("ages"));// 增加一個不是數值的 值expectedEx.expect(JedisDataException.class);// Exception.class其實也是可以的expectedEx.expectMessage("ERR value");// 錯誤信息中的一部分就可以了jedis.incr("name");}@Testpublic void test2() {// 關于 List 數據類型的操作// 先清除測試要用到 鍵值jedis.del("list");// 多個值推入返回的是推入的值的 數目 4Assert.assertEquals(Long.valueOf(4L), jedis.rpush("list", "item1", "item2", "item1", "item3"));// 展示list全部的值List<String> list = jedis.lrange("list", 0, -1);Assert.assertEquals(4, list.size());// 測試取超出范圍的值 左右超出范圍無論 如何寫只要左邊比右邊小都是整個list列表Assert.assertEquals(4, jedis.lrange("list", -200, 1000).size());// 右邊沒有超過范圍Assert.assertEquals(3, jedis.lrange("list", -200, 2).size());// 左邊超過范圍Assert.assertEquals(2, jedis.lrange("list", 2, 1000).size());// 左右沒有超過范圍只是 左邊比右邊大Assert.assertEquals(0, jedis.lrange("list", 2, 1).size());// 其他的都不用測試了 只要左邊比右邊大 返回的list都是空的 []// pop返回的都是pop的值Assert.assertEquals("item1", jedis.lpop("list"));for (int i = 0; i < 3; i++) {jedis.lpop("list");}// pop 一個空的list查看返回什么 返回nullAssert.assertEquals(null, jedis.lpop("list"));}@Testpublic void test3() {// 清除 測試的 keyjedis.del("set");// 返回值是進入成功的的值的數目 重復的值進入不成功Assert.assertEquals(Long.valueOf(2), jedis.sadd("set", "set1", "set2", "set1"));// 獲取set里面所有的值Set<String> set = jedis.smembers("set");Assert.assertEquals(2, set.size());// 判斷值是否在set中Assert.assertTrue(jedis.sismember("set", "set1"));Assert.assertFalse(jedis.sismember("set", "set3"));// 返回刪除成功的 key的數量的值Assert.assertEquals(Long.valueOf(2l), jedis.srem("set", "set1", "set2"));// 返回刪除成功的 key的值 因為 都不存在所有返回值是0lAssert.assertEquals(Long.valueOf(0l), jedis.srem("set", "set1", "set2"));}@Testpublic void test4() {// 哈希 測試// 首先先刪除測試的keyjedis.del("map");Assert.assertEquals(Long.valueOf(1l), jedis.hset("map", "k1", "v1"));// 設置一個值HashMap<String, String> map = new HashMap<String, String>();map.put("k1", "v2");map.put("k2", "v2");Assert.assertEquals("OK", jedis.hmset("map", map));Assert.assertEquals("v2", jedis.hget("map", "k1"));// 會被覆蓋Assert.assertEquals(null, jedis.hget("map", "k3"));// 獲取不存在的keyAssert.assertEquals("[v2, null]", jedis.hmget("map", "k1", "k3").toString());// 這個只想說明獲取// 獲取hash中不存在的值會返回nullAssert.assertEquals(2, jedis.hgetAll("map").size());// -----------------------------------------Assert.assertEquals(Long.valueOf(0l), jedis.hset("map", "k1", "v3"));Assert.assertEquals("v3", jedis.hget("map", "k1"));// 會被覆蓋// 這兩個表示 hset一個存在的值 會返回0但是值確實會被覆蓋// -----------------------------------------Assert.assertEquals(Long.valueOf(1l), jedis.hdel("map", "k1"));// hdel也可以批量刪除 返回刪除成功的key的數量Assert.assertEquals(Long.valueOf(0l), jedis.hdel("map", "k1"));}@Testpublic void test5() {// 最后一種數據類型zSet有序集合// 首先清楚要測試的keyjedis.del("zset");Assert.assertEquals(Long.valueOf(1l), jedis.zadd("zset", 1.1, "k1"));Assert.assertEquals(Long.valueOf(0l), jedis.zadd("zset", 4.4, "k1"));// 設置一樣的值是0Assert.assertEquals(Long.valueOf(1l), jedis.zadd("zset", 3.3, "k3"));//// output:[k3,k1] 值被覆蓋了System.out.println(jedis.zrangeByScore("zset", 0, 5));// [[[107,51],3.3],[[107, 49],4.4]]fSystem.out.println(jedis.zrangeByScoreWithScores("zset", 0, 10));Set<Tuple> setWithTuple = jedis.zrangeByScoreWithScores("zset", 0, 10);for (Tuple t : setWithTuple) {System.out.println(t.getElement() + "--" + t.getScore());}// output:// k3--3.3// k1--4.4}}

轉載于:https://www.cnblogs.com/joeCqupt/p/6801445.html

總結

以上是生活随笔為你收集整理的jedis操作redis(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 色哟哟免费观看 | 亚洲综合日韩精品欧美综合区 | 欧美一区二区三区成人片在线 | 中文字幕无码精品亚洲35 | 偷偷操不一样的久久 | 青青草视频播放 | 亚洲の无码国产の无码步美 | 成年人网站免费看 | 色撸撸在线| 男男车车的车车网站w98免费 | 国产成人黄色片 | www国产一区 | 日韩成人免费在线视频 | 午夜精品999 | 无人在线观看的免费高清视频 | 亚洲欧美综合一区二区 | www黄色片网站 | 疯狂做受xxxx国产 | 中文字幕一区二区三区乱码在线 | 国产福利视频一区二区 | 麻豆传媒网站在线观看 | 一集毛片| 国产精品日韩在线 | 国产二级一片内射视频播放 | 美女18毛片| 欧美整片sss | 日本精品视频一区 | 欧美 日韩 中文字幕 | www.色网站| 亚洲天堂欧美在线 | 阿拉伯性视频xxxx | 日韩av资源站 | 无码粉嫩虎白一线天在线观看 | 色涩久久 | 成人www视频 | www.污污| 亚洲午夜精品一区二区三区 | 亚洲一区二区三区四区在线播放 | 天堂视频一区二区 | 开心激情深爱 | 少妇被躁爽到高潮无码文 | 日韩毛片一区二区三区 | 91成人动漫| 日韩av成人在线观看 | 日韩av电影在线播放 | 91在线中文| 欧美日韩色视频 | 俄罗斯美女一级爱片 | 久久人人妻人人人人妻性色av | 日噜噜夜噜噜 | 亚洲精品在线观看免费 | 欧美黄色性 | 少妇毛片一区二区三区 | 日韩经典中文字幕 | 亚洲一区二区自偷自拍 | 永久免费看mv网站入口78 | 激情片| 岛国片免费在线观看 | 在线观看精品视频 | 成人试看120秒体验区 | 日本欧美日韩 | 激情小说av | 综合久久亚洲 | 好男人天堂网 | 久久综合鬼色 | 经典毛片 | 五月天激情社区 | 人妻体体内射精一区二区 | 秋霞福利 | 少妇紧身牛仔裤裤啪啪 | 999视频在线播放 | 在线视频免费播放 | 亚洲精品国产电影 | 四虎国产精品永久免费观看视频 | 国产综合日韩 | 人人妻人人做人人爽 | 免费欧美黄色 | 欧美激情一区二区三级高清视频 | 色天天 | 美女网站免费视频 | 久久一级大片 | 色一情一交一乱一区二区三区 | 国产精品日韩电影 | 逼逼av网站 | 国内外成人在线视频 | 美女张开腿让男人桶爽 | 午夜精品久久久久久久久久蜜桃 | 亚洲欧美一区二区三区不卡 | 啪网址| 精品无码人妻一区二区免费蜜桃 | 麻豆免费下载 | 97超碰福利 | 涩涩涩在线视频 | 欧美综合另类 | 日韩一级黄 | 毛片最新网址 | 亚洲精品成人无码毛片 | xxxxwwww国产| 亚洲毛片在线免费观看 |