3、Redis中对String类型的操作命令

2023-07-29,,

写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------

--------------------------------------------------------------------

1、对String类型的操作

1.1、get、set、del:获取key的值、设置key的值、删除key的值

操作如下:

Java代码示例如下:

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: get、set、del 操作示例
*/
public class String_get_set_del_operation { public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 set k1 v1
*/
String set = jedis.set("k1", "1");
System.out.println("set = " + set);
System.out.println("======================"); /**
* 示例2: 相当于执行 get k1
*/
String k1 = jedis.get("k1");
System.out.println("k1 = " + k1);
System.out.println("======================"); /**
* 示例3:相当于执行 del k1
*/
Long delk1 = jedis.del("k1");
System.out.println("delk1 = " + delk1);
}
}

1.2、incr、decr:递增和递减整数值,格式是:incr key值

操作如下:

Java代码示例如下:

 /**
* redis中对于字符串类型的: incr、decr 操作示例
*/
public class String_incr_decr_operation { public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 incr k1
*/
Long incrk1 = jedis.incr("k1");
System.out.println("incr k1 = " + incrk1); System.out.println("======================"); /**
* 示例2: 相当于执行 decr k1
*/
Long decrk1 = jedis.decr("k1");
System.out.println("decr k1 = " + decrk1);
}
}

1.3、incrby、decrby:递增和递减整数值,可指定增减的数值,格式是:incrby key值 正负数

操作如下:

Java代码示例如下:

 /**
* redis中对于字符串类型的: incrby、decrby 操作示例
*/
public class String_incrby_decrby_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 incrBy k1 v1
*/
Long incrBy = jedis.incrBy("k1",4);
System.out.println("incrBy = " + incrBy); System.out.println("======================"); /**
* 示例2: 相当于执行 decrBy k1 v1
*/
Long decrBy = jedis.decrBy("k1",2);
System.out.println("decrBy = " + decrBy);
}
}

1.4、incrbyfloat:递增和递减浮点数,格式是:incrbyfloat key值 正负数值

操作如下:

Java代码示例如下:

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: incrbyfloat操作示例
*/
public class String_incrbyfloat_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 incrbyfloat k1 v1
*/
Double incrByFloat1 = jedis.incrByFloat("k1", 4.2);
System.out.println("incrByFloat1 = " + incrByFloat1); Double incrByFloat2 = jedis.incrByFloat("k1", -2.2);
System.out.println("incrByFloat2 = " + incrByFloat2); }
}

1.5、append:在尾部追加值,格式是:append key值 追加的值

操作如下:

Java代码示例如下:

 /**
* redis中对于字符串类型的: append操作示例
*/
public class String_append_operation { public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 append k1 v1
*/
Long append = jedis.append("k1", "1");
System.out.println("append = " + append);
}
}

1.6、getrange、setrange:获取指定索引范围内的值,格式是:getrange key值 起始索引 结束索引

操作如下:

Java代码示例如下:

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: getrange操作示例
*/
public class String_getrange_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 getrange k1 start end
*/
String k1 = jedis.getrange("k1", 0, -1);
System.out.println("k1 = " + k1); String k11 = jedis.getrange("k1", 1, 5);
System.out.println("k11 = " + k11); }
}

1.7、strlen:返回键值的长度,格式是:strlen key值

操作如下:

Java代码示例如下:

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: strlen操作示例
*/
public class String_strlen_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 strlen k1
*/
Long k1 = jedis.strlen("k1");
System.out.println("k1 = " + k1);
}
}

1.8、mget、mset:同时获取多个键的值、同时设置多个键的值,格式为:mget 多个key值、mset key值 value(key和value可以是多对)

操作如下:

Java代码示例如下:

 import redis.clients.jedis.Jedis;

 import java.util.List;

 /**
* redis中对于字符串类型的: mget mset 操作示例
*/
public class String_mget_mset_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 mget k1 k2 k3 k4
*/
List<String> mget = jedis.mget("k1", "k2", "k3", "k4");
mget.stream().forEach(System.out::println); String mset = jedis.mset("k1", "1", "k2","2","k3","3");
System.out.println("mset = " + mset); mget = jedis.mget("k1", "k2", "k3", "k4");
mget.stream().forEach(System.out::println);
}
}

1.9、bitcount:获取范围内为1的二进制位数,格式是:bitcount key值[start end] (ps: 这里的start end 是指value的值的起始位置)

操作如下:

Java代码示例如下:

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: bitcount 操作示例
*/
public class String_bitcount_operation { public static void main(String[] args) {
/**
* 获取字母"a"对应的二进制
*/
byte[] bytes = "a".getBytes();
String s = Integer.toBinaryString(bytes[0]);
System.out.println("s = " + s); Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 bitcount k1[start end]
*/
String set = jedis.set("k1", "a");
Long bitcount = jedis.bitcount("k1");
System.out.println("bitcount = " + bitcount); /**
* 因为 k1对应的value是'a'只有一个长度
*/
Long bitcount2 = jedis.bitcount("k1", 0, 2);
System.out.println("bitcount2 = " + bitcount2); }
}

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代码示例如下

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: getbit、setbit 操作示例
*/
public class String_getbit_setbit_operation {
public static void main(String[] args) {
/**
* 获取字母"a"对应的二进制
*/
byte[] bytes = "a".getBytes();
String s = Integer.toBinaryString(bytes[0]);
System.out.println("s = " + s); Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 getbit k1 1
*/
String set = jedis.set("k1", "a");
Boolean getbit = jedis.getbit("k1", 1);
System.out.println("getbit = " + getbit); /**
* 示例2:相当于执行 setbit k1 7 0 / setbit k1 6 1
*/
jedis.setbit("k1",7l,"0");
jedis.setbit("k1",6l,"1");
String k1 = jedis.get("k1");
System.out.println("k1 = " + k1);
}
}

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代码示例如下:

 import redis.clients.jedis.Jedis;

 /**
* redis中对于字符串类型的: getset 操作示例
*/
public class String_getset_operation {
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1",6379);
/**
* 示例1: 相当于执行 getSet k1 v1
*/
String getSet = jedis.getSet("k1", "111");
System.out.println("getSet = " + getSet); System.out.println("======================");
}

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

3、Redis中对String类型的操作命令的相关教程结束。

《3、Redis中对String类型的操作命令.doc》

下载本文的Word格式文档,以方便收藏与打印。