
1、對String類型的操作
1.1、get、set、del:獲取key的值、設置key的值、刪除key的值
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: get、set、del 操作示例 5 */ 6 public class String_get_set_del_operation { 7 8 public static void main(String[] args) { 9 Jedis jedis = new Jedis("127.0.0.1",6379); 10 /** 11 * 示例1: 相當於執行 set k1 v1 12 */ 13 String set = jedis.set("k1", "1"); 14 System.out.println("set = " + set); 15 System.out.println("======================"); 16 17 /** 18 * 示例2: 相當於執行 get k1 19 */ 20 String k1 = jedis.get("k1"); 21 System.out.println("k1 = " + k1); 22 System.out.println("======================"); 23 24 /** 25 * 示例3:相當於執行 del k1 26 */ 27 Long delk1 = jedis.del("k1"); 28 System.out.println("delk1 = " + delk1); 29 } 30 }
1.2、incr、decr:遞增和遞減整數值,格式是:incr key值
操作如下:
Java代碼示例如下:
1 /** 2 * redis中對於字符串類型的: incr、decr 操作示例 3 */ 4 public class String_incr_decr_operation { 5 6 public static void main(String[] args) { 7 Jedis jedis = new Jedis("127.0.0.1",6379); 8 /** 9 * 示例1: 相當於執行 incr k1 10 */ 11 Long incrk1 = jedis.incr("k1"); 12 System.out.println("incr k1 = " + incrk1); 13 14 System.out.println("======================"); 15 16 /** 17 * 示例2: 相當於執行 decr k1 18 */ 19 Long decrk1 = jedis.decr("k1"); 20 System.out.println("decr k1 = " + decrk1); 21 } 22 }
1.3、incrby、decrby:遞增和遞減整數值,可指定增減的數值,格式是:incrby key值 正負數
操作如下:
Java代碼示例如下:
1 /** 2 * redis中對於字符串類型的: incrby、decrby 操作示例 3 */ 4 public class String_incrby_decrby_operation { 5 public static void main(String[] args) { 6 Jedis jedis = new Jedis("127.0.0.1",6379); 7 /** 8 * 示例1: 相當於執行 incrBy k1 v1 9 */ 10 Long incrBy = jedis.incrBy("k1",4); 11 System.out.println("incrBy = " + incrBy); 12 13 System.out.println("======================"); 14 15 /** 16 * 示例2: 相當於執行 decrBy k1 v1 17 */ 18 Long decrBy = jedis.decrBy("k1",2); 19 System.out.println("decrBy = " + decrBy); 20 } 21 }
1.4、incrbyfloat:遞增和遞減浮點數,格式是:incrbyfloat key值 正負數值
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: incrbyfloat操作示例 5 */ 6 public class String_incrbyfloat_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相當於執行 incrbyfloat k1 v1 11 */ 12 Double incrByFloat1 = jedis.incrByFloat("k1", 4.2); 13 System.out.println("incrByFloat1 = " + incrByFloat1); 14 15 16 Double incrByFloat2 = jedis.incrByFloat("k1", -2.2); 17 System.out.println("incrByFloat2 = " + incrByFloat2); 18 19 } 20 }
1.5、append:在尾部追加值,格式是:append key值 追加的值
操作如下:
Java代碼示例如下:
1 /** 2 * redis中對於字符串類型的: append操作示例 3 */ 4 public class String_append_operation { 5 6 public static void main(String[] args) { 7 Jedis jedis = new Jedis("127.0.0.1",6379); 8 /** 9 * 示例1: 相當於執行 append k1 v1 10 */ 11 Long append = jedis.append("k1", "1"); 12 System.out.println("append = " + append); 13 } 14 }
1.6、getrange、setrange:獲取指定索引范圍內的值,格式是:getrange key值 起始索引 結束索引
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: getrange操作示例 5 */ 6 public class String_getrange_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相當於執行 getrange k1 start end 11 */ 12 String k1 = jedis.getrange("k1", 0, -1); 13 System.out.println("k1 = " + k1); 14 15 String k11 = jedis.getrange("k1", 1, 5); 16 System.out.println("k11 = " + k11); 17 18 } 19 }
1.7、strlen:返回鍵值的長度,格式是:strlen key值
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: strlen操作示例 5 */ 6 public class String_strlen_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相當於執行 strlen k1 11 */ 12 Long k1 = jedis.strlen("k1"); 13 System.out.println("k1 = " + k1); 14 } 15 }
1.8、mget、mset:同時獲取多個鍵的值、同時設置多個鍵的值,格式為:mget 多個key值、mset key值 value(key和value可以是多對)
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 import java.util.List; 4 5 /** 6 * redis中對於字符串類型的: mget mset 操作示例 7 */ 8 public class String_mget_mset_operation { 9 public static void main(String[] args) { 10 Jedis jedis = new Jedis("127.0.0.1",6379); 11 /** 12 * 示例1: 相當於執行 mget k1 k2 k3 k4 13 */ 14 List<String> mget = jedis.mget("k1", "k2", "k3", "k4"); 15 mget.stream().forEach(System.out::println); 16 17 String mset = jedis.mset("k1", "1", "k2","2","k3","3"); 18 System.out.println("mset = " + mset); 19 20 mget = jedis.mget("k1", "k2", "k3", "k4"); 21 mget.stream().forEach(System.out::println); 22 } 23 }
1.9、bitcount:獲取范圍內為1的二進制位數,格式是:bitcount key值[start end] (ps: 這里的start end 是指value的值的起始位置)
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: bitcount 操作示例 5 */ 6 public class String_bitcount_operation { 7 8 public static void main(String[] args) { 9 /** 10 * 獲取字母"a"對應的二進制 11 */ 12 byte[] bytes = "a".getBytes(); 13 String s = Integer.toBinaryString(bytes[0]); 14 System.out.println("s = " + s); 15 16 Jedis jedis = new Jedis("127.0.0.1",6379); 17 /** 18 * 示例1: 相當於執行 bitcount k1[start end] 19 */ 20 String set = jedis.set("k1", "a"); 21 Long bitcount = jedis.bitcount("k1"); 22 System.out.println("bitcount = " + bitcount); 23 24 /** 25 * 因為 k1對應的value是'a'只有一個長度 26 */ 27 Long bitcount2 = jedis.bitcount("k1", 0, 2); 28 System.out.println("bitcount2 = " + bitcount2); 29 30 } 31 }
1.10、getbit、setbit:獲取指定位置的二進制位的值、設置指定位置的二進制位的值,格式是:getbit key值 offset索引、setbit key值 offset索引 值
操作如下:
getbit key值 offset索引
字母'a'對於的二進制位"01100001"
setbit key值 offset索引 值
因為字母'b'的二進制位"01100010",我們只要把字母"a"的二進制的第7位設置為0、第六位設置為1,就可以等到一個字母"b"了。
Java代碼示例如下
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: getbit、setbit 操作示例 5 */ 6 public class String_getbit_setbit_operation { 7 public static void main(String[] args) { 8 /** 9 * 獲取字母"a"對應的二進制 10 */ 11 byte[] bytes = "a".getBytes(); 12 String s = Integer.toBinaryString(bytes[0]); 13 System.out.println("s = " + s); 14 15 Jedis jedis = new Jedis("127.0.0.1",6379); 16 /** 17 * 示例1: 相當於執行 getbit k1 1 18 */ 19 String set = jedis.set("k1", "a"); 20 Boolean getbit = jedis.getbit("k1", 1); 21 System.out.println("getbit = " + getbit); 22 23 /** 24 * 示例2:相當於執行 setbit k1 7 0 / setbit k1 6 1 25 */ 26 jedis.setbit("k1",7l,"0"); 27 jedis.setbit("k1",6l,"1"); 28 String k1 = jedis.get("k1"); 29 System.out.println("k1 = " + k1); 30 } 31 }
1.11、bitop:對多個二進制位進行位操作,格式是:bitop 操作 目的key key值1 key值2,操作有:and、or、xor、not。 (key值可以有多個)
操作如下:
"a" --- 01100001
"b" --- 01100010
1.12、getset:原子的設置key的值,並返回key的舊值,格式是:getset key value
操作如下:
Java代碼示例如下:
1 import redis.clients.jedis.Jedis; 2 3 /** 4 * redis中對於字符串類型的: getset 操作示例 5 */ 6 public class String_getset_operation { 7 public static void main(String[] args) { 8 Jedis jedis = new Jedis("127.0.0.1",6379); 9 /** 10 * 示例1: 相當於執行 getSet k1 v1 11 */ 12 String getSet = jedis.getSet("k1", "111"); 13 System.out.println("getSet = " + getSet); 14 15 System.out.println("======================"); 16 } 17