3、Redis中对String类型的操作命令
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类型的操作命令的更多相关文章
- 6、Redis中对Hash类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 5、Redis中对Set类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 4、Redis中对List类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ------------ ...
- 7、Redis中对ZSet类型的操作命令
写在前面的话:读书破万卷,编码如有神 -------------------------------------------------------------------- ---------- ...
- Redis中一个String类型引发的惨案
曾经看到这么一个案例,有一个团队需要开发一个图片存储系统,要求这个系统能快速记录图片ID和图片存储对象ID,同时还需要能够根据图片的ID快速找到图片存储对象ID.我们假设用10位数来表示 ...
- C++中关于string类型究竟能不能用cout输出的问题
先让我讲下故事哈 一次在MFC中用cout输出一个string类型字符串,编译时出现这样一个错误: error C2679: binary '<<' : no operator defin ...
- mysql语句中把string类型字段转datetime类型
mysql语句中把string类型字段转datetime类型 在mysql里面利用str_to_date()把字符串转换为日期 此处以表h_hotelcontext的Start_time和En ...
- c/c++中关于String类型的思考
首先说明:String并不是一种内置类型,因此任何通过String声明出来的实例都不是一个变量,不同于内置类型因此String仅仅能称之为一种特殊的型别,没错String是一个类类型. 一般来说c语言 ...
- Python(Redis 中 Set/Zset 类型数据和其他操作)
1.redis 基本操作命令 Set 操作 Set 集合就是不允许重复的列表 无序集合 sadd(name,values) 给 name 对应的集合中添加 1 个或多个元素 import redis ...
随机推荐
- 2016 最佳 Linux 发行版排行榜【转】
转自:http://www.linuxstory.org/the-best-linux-distros-of-2016/?utm_source=tuicool&utm_medium=refer ...
- linux键盘input_event浅析【转】
转自:http://blog.csdn.net/tdstds/article/details/18710965 input_event(mxckbd_dev, EV_KEY, mxckpd_keyco ...
- TcxScheduler的使用
TcxScheduler有两种工作模式: 一.非绑定模式 非绑定模式下,数据被存储在文件系统中.要让scheduler工作在非绑定模式下,应使TcxScheduler.Storage属性绑定到TcxS ...
- DevExpress GridControl 的数据绑定
本人不才啊,折腾2个多小时才把数据绑定好.现在把折腾过程记录一下来以帮助更多的朋友,自己也温习一下. 直接上代码了哈.... WPF哈 xaml文件 <dxg:GridControl Name= ...
- cross apply 和 outer apply
使用APPLY运算符可以实现查询操作的外部表表达式返回的每个调用表值函数.表值函数作为右输入,外部表表达式作为左输入. 通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出.A ...
- Django数据库数据表操作
建立表单 django通过设置类来快速建表,打开models.py 例: from __future__ import unicode_literals from django.db import m ...
- 20165333 2017-2018-2《Java程序设计》课程总结
一.每周作业链接汇总 1.预备作业一:我期望的师生关系 简要内容: 印象深刻的老师 我期望的师生关系 关于JAVA学习 2.预备作业二:学习基础和C语言学习基础 简要内容: 技能学习 C语言学习 关于 ...
- codis+redis 集群搭建管理
Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可以像使 ...
- Action(8):Error -27728:Step download timeout(120 seconds)has expired when downloading
Action(8):Error -27728:Step download timeout(120 seconds)has expired when downloading 出现如下图所示对话框上的 ...
- 修改web.config来开启Gzip压缩
IIS 7.0之后引入的一个IIS配置文件,详细内容参考官方链接http://www.iis.net/learn/get-started /planning-your-iis-architecture ...