乙份不用注釋都能看懂的jedis使用速成教程

2021-09-28 21:18:49 字數 4025 閱讀 2379

本機裝了redis並開啟服務

自行匯入相關jar包依賴

public class jedistest 

public static void main(string ar**)

print(4, jedis.lrange(listname, 0, 12));//下標0-12的雙閉區間,下標越界不報錯

print(4, jedis.lrange(listname, 0, 3));

print(5, jedis.llen(listname));//獲取成都

print(6, jedis.lpop(listname));//出棧

print(7, jedis.llen(listname));

print(8, jedis.lrange(listname, 2, 6));

print(9, jedis.lindex(listname, 3));//獲取下標為3的

// print(10, jedis.linsert(listname, binaryclient.list_position.after, "a4", "xx"));//值a4後面+新值xx

// print(10, jedis.linsert(listname, binaryclient.list_position.before, "a4", "bb"));//值a4前面+新值bb

print(11, jedis.lrange(listname, 0 ,12));

// hash

string userkey = "userxx";

jedis.hset(userkey, "name", "jim");

jedis.hset(userkey, "age", "12");

jedis.hset(userkey, "phone", "18618181818");

print(12, jedis.hget(userkey, "name"));//獲取name的值

print(13, jedis.hgetall(userkey));//獲取所有的屬性和值

jedis.hdel(userkey, "phone");//根據鍵刪除鍵值對

print(14, jedis.hgetall(userkey));

print(15, jedis.hexists(userkey, "email"));//是否存在email鍵

print(16, jedis.hexists(userkey, "age"));

print(17, jedis.hkeys(userkey));//獲取所有的鍵

print(18, jedis.hvals(userkey));//獲取所有的值

jedis.hsetnx(userkey, "school", "zju");//新增新鍵值對,未存在建立,鍵已存在不會改變

jedis.hsetnx(userkey, "name", "yxy");//已有的不會被改變

print(19, jedis.hgetall(userkey));

// set

string likekey1 = "commentlike1";

string likekey2 = "commentlike2";

for (int i = 0; i < 10; ++i)

print(20, jedis.smembers(likekey1));//獲取所有元素

print(21, jedis.smembers(likekey2));

print(22, jedis.sunion(likekey1, likekey2));//並集

print(23, jedis.sdiff(likekey1, likekey2));//差集 1有2沒有

print(24, jedis.sinter(likekey1, likekey2));//交集

print(25, jedis.sismember(likekey1, "12"));//是否存在該元素

print(26, jedis.sismember(likekey2, "16"));

jedis.srem(likekey1, "5");//移除元素

print(27, jedis.smembers(likekey1));

jedis.smove(likekey2, likekey1, "25");//把25從set2移動到set1

print(28, jedis.smembers(likekey1));

print(29, jedis.scard(likekey1));//set1長度

//set強大的功能就此開始

string rankkey = "rankkey";

jedis.zadd(rankkey, 15, "jim");

jedis.zadd(rankkey, 60, "ben");

jedis.zadd(rankkey, 90, "lee");

jedis.zadd(rankkey, 75, "lucy");

jedis.zadd(rankkey, 80, "mei");

print(30, jedis.zcard(rankkey));//rankkey長度

print(31, jedis.zcount(rankkey, 61, 100));//61~100分的,左右閉區間

print(32, jedis.zscore(rankkey, "lucy"));//lucy的成績

jedis.zincrby(rankkey, 2, "lucy");//lucy的成績+2

print(33, jedis.zscore(rankkey, "lucy"));

jedis.zincrby(rankkey, 2, "luc");//鍵值不存在就新建,然後在0的基礎上+2

print(34, jedis.zscore(rankkey, "luc"));

print(35, jedis.zrange(rankkey, 0, 100));//0——100分的

print(36, jedis.zrange(rankkey, 0, 10));//下標0-10雙閉區間 越界報錯

print(36, jedis.zrange(rankkey, 1, 3));

print(36, jedis.zrevrange(rankkey, 1, 3));//反轉獲取(很好用)

for (tuple tuple : jedis.zrangebyscorewithscores(rankkey, "60", "100"))

print(38, jedis.zrank(rankkey, "ben"));//排名

print(39, jedis.zrevrank(rankkey, "ben"));//反向排名

string setkey = "zset";//zset叫做有序集合,而set是無序的

//新增五條zset集合

jedis.zadd(setkey, 1, "a");

jedis.zadd(setkey, 1, "b");

jedis.zadd(setkey, 1, "c");

jedis.zadd(setkey, 1, "d");

jedis.zadd(setkey, 1, "e");

print(40, jedis.zcard(setkey));//檢視集合個數

print(40, jedis.zlexcount(setkey, "-", "+"));

print(41, jedis.zlexcount(setkey, "(b", "[d"));//從b開始到d結束左閉右開區間元素個數

print(42, jedis.zlexcount(setkey, "[b", "[d"));

jedis.zrem(setkey, "b");//刪除b元素

print(43, jedis.zrange(setkey, 0, 10));

jedis.zremrangebylex(setkey, "(c", "+");//移除c以後不包括c的元素 //返回值 被成功溢位元素的數量

print(44, jedis.zrange(setkey, 0 ,2));

}}

新手都能看懂的Dubbo!

1.dubbo架構 上述節點簡單說明 呼叫關係說明 1.服務容器負責啟動,載入,執行服務提供者。2.服務提供者在啟動時,向註冊中心註冊自己提供的服務。3.服務消費者在啟動時,向註冊中心訂閱自己所需的服務。4.註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者...

小白都能看懂的block

首先說明一下,我自己也是乙個小白 這是我對block的一點認識或總結,有不對的地方,希望大家指出來 block就是乙個 塊,用來執行一小段程式的,通常我們定義乙個block 可以用它的基本模型,返回值型別 變數的名字 引數型別 例如 int myblock int 這就是定義了乙個block 這個變...

小白都能看懂的softmax詳解

softmax把一些輸入對映為0 1之間的實數,並且歸一化保證和為1,因此多分類的概率之和也剛好為1 或參考 小白都能看懂的softmax詳解 在機器學習尤其是深度學習中,softmax是個非常常用而且比較重要的函式,尤其在多分類的場景中使用廣泛。他把一些輸入對映為0 1之間的實數,並且歸一化保證和...