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 ...
随机推荐
- 【驱动】USB驱动实例·串口驱动·键盘驱动【转】
转自:http://www.cnblogs.com/lcw/p/3159370.html Preface USB体系支持多种类型的设备. 在 Linux内核,所有的USB设备都使用 usb_drive ...
- Centos 软连接和硬链接
1.软链接: 建立软链接:ln -s /usr/local/node-v4.2.6-linux-x86/bin/node /usr/local/bin/node 解释:将/usr/local/node ...
- poj1056
简单题 #include <iostream> #include <string> using namespace std; struct cnode { cnode *pze ...
- Fiddler 4 抓包(APP HTTPS )
一.手机连接Fiddler 1.配置fiddler 1.安装fiddler,基本下一步下一步即可: 2.打开fiddler,点击顶部栏Tools——>Options 3.在HTTPS页签勾选“D ...
- android studio实现Intent通信-------牛刀小试
概述: 本博文实现一种小程序,两个Activity单向通信,主从关系,MainActivty 页面布局一个EditText+Button,实现逻辑是单击按钮将信息发送给另外一个DisplayMessa ...
- 奇妙的CSS之伪类与伪元素
我们都知道,在CSS中有很多选择器,例如id(#), class(.),属性[attr],这些虽然可以满足一些需要,但有时候还力有未逮.伪类和伪元素就提供了一个有益的补充,可以使我们更高效编码.伪类和 ...
- 关于SQLserver的索引的一些脚本
--判断无用的索引: SELECT TOP 30 DB_NAME() AS DatabaseName , '[' + SCHEMA_NAME(o.Schema_ID) + ']' + '.' + '[ ...
- grail开发环境的搭建
本文参考:Grails入门指南(第二版) 1. 下载jdk和Grail http://www.oracle.com/technetwork/java/javase/downloads/ http:// ...
- pip常用命令总结(转载)
基本的命令解释,如下图: 列出已安装的包 pip freeze or pip list 导出requirements.txt pip freeze > <目录>/requiremen ...
- 为django平台生成模拟用户,建立用户组,并将用户加入组
书接上篇BLOG. 当我们可以用manage.py自定义命令来生成模拟数据时, 我们面对的就是如何操作ORM的问题了. 这两天,我为我们的内部系统的所有数据表,都生成了模拟数据. 有几个心得,记录于此 ...