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

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

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类型的操作命令的更多相关文章

  1. 6、Redis中对Hash类型的操作命令

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

  2. 5、Redis中对Set类型的操作命令

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

  3. 4、Redis中对List类型的操作命令

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

  4. 7、Redis中对ZSet类型的操作命令

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

  5. Redis中一个String类型引发的惨案

    ​      曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...

  6. C++中关于string类型究竟能不能用cout输出的问题

    先让我讲下故事哈 一次在MFC中用cout输出一个string类型字符串,编译时出现这样一个错误: error C2679: binary '<<' : no operator defin ...

  7. mysql语句中把string类型字段转datetime类型

    mysql语句中把string类型字段转datetime类型   在mysql里面利用str_to_date()把字符串转换为日期   此处以表h_hotelcontext的Start_time和En ...

  8. c/c++中关于String类型的思考

    首先说明:String并不是一种内置类型,因此任何通过String声明出来的实例都不是一个变量,不同于内置类型因此String仅仅能称之为一种特殊的型别,没错String是一个类类型. 一般来说c语言 ...

  9. Python(Redis 中 Set/Zset 类型数据和其他操作)

    1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...

随机推荐

  1. httpd功能配置之虚拟主机【转】

    apache默认使用80端口提供服务,使用主服务器配置的话,一台物理机只能提供一个站点服务:可以使用虚拟主机方式提供不同的访问,以实现一台主机提供多站点服务. 虚拟主机的实现方式有三种:基于端口.基于 ...

  2. jQuery基本筛选器-表单筛选器-关系筛选器

    一.基本筛选器 :first // 第一个 :last // 最后一个 :eq(index)// 索引等于index的那个元素 :even // 匹配所有索引值为偶数的元素,从 0 开始计数 :odd ...

  3. python socket编程和黏包问题

    一.基于TCP的socket tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端,有顺序,不重复,可靠.不会被加上数据边界. server端 import socket sk = so ...

  4. js权威指南---学习笔记02

    1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当 ...

  5. 获取矩形局域的方法,Rect、Bounds、Point

    获取一个点和矩形区域的方法如下: var R: TRect; procedure TForm5.FormCreate(Sender: TObject); begin RadioGroup1.Items ...

  6. Luogu P1566 【加等式】

    看到这道题,我们首先注意到“找出其所有的加等式的个数”,自然地考虑运用计数DP求出若干数相加的和的个数 考虑将每个元素排序后DP处理若干数相加的和的个数 用f[i]表示 对于一个数a[i],对于前i- ...

  7. T-SQL创建前删除已存在存储过程

    --判断是否存在addOneArticle这个存储过程 if Exists(select name from sysobjects where NAME = 'addOneArticle' and t ...

  8. SQLSERVER中的非工作时间不得插入数据的触发器的实现

    create trigger trigger_nameon table_namefor insert,update,deleteasif (datepart(yy,getdate())%4=0 or ...

  9. Django杂记

    django 中 slice 和 truncatewords 不同用法 django中取一段字符串中的前 N 个字符,可以用 slice和truncatewords ,但是两者是有区别的. djang ...

  10. Alpine里的用户管理命令

    注意噢,和普通的linux不一样的. 1, 建立一个指定GID的组: addgroup -g 10001 -S groupA 2, 建立一个指定UID的用户,指定shell, 让它属于指定的用户组. ...