Redis String类型的API使用
package com.daxin.jedis_datastructure; import org.junit.After;
import org.junit.Before;
import org.junit.Test; import redis.clients.jedis.Jedis; /**
* Unit test for simple App.
*/
public class AppTest { Jedis jedis = null; @Before
public void before() {
jedis = RedisUtils.getJedis();
jedis.flushDB();
} @After
public void after() {
jedis.close();
} /**
* 简单key/value设置
*/
@Test
public void jedis_set_get() {
// 设置key
jedis.set("redis_key", "redis_value");
System.out.println(jedis.get("redis_key")); // 追加到指定key的后面
jedis.append("redis_key", "_redis_value");
System.out.println(jedis.get("redis_key")); // 1,2参数不解释
// NX如果不存在的话,则设置,否则不设置。XX如果存在则设置
// EX表示秒。PX表示毫秒
// 最后一个参数表示多长时间过期
jedis.set("redis_key", "123456789", "XX", "EX", 500L);
System.out.println(jedis.get("redis_key"));
jedis.set("123456789", "123456789", "NX", "EX", 500L);
System.out.println(jedis.get("123456789")); } /**
* redis中没有int类型,里面存储的是string,在进行int加减时候将string转int然后再转string存储
*/
@Test
public void jedis_incr_incrBy() { System.out.println("------------incrBy10------------");
// 加10
Long r1 = jedis.incrBy("top", 10);// redis中没有int类型,里面存储的是string,在进行int加减时候将string转int然后再转string存储
System.out.println(r1);
System.out.println("------------incr------------");
// 加1
r1 = jedis.incr("top");
System.out.println(r1); System.out.println("------------incrBy2------------");
r1 = jedis.incrBy("top", 2);
System.out.println(r1);
} @Test
public void jedis_decr_decrBy() { Long r1 = jedis.incrBy("top", 10); System.out.println(r1);
// 减1操作
r1 = jedis.decr("top");
System.out.println(r1);
// 减去4操作
r1 = jedis.decrBy("top", 4);
System.out.println(r1);
} @Test
public void jedis_getset() { /**
* 先获取在设置
*/
String r1 = jedis.getSet("daxin", "first");
System.out.println(r1);
r1 = jedis.getSet("daxin", "first");
System.out.println(r1); } @Test
public void jedis_setex() throws Exception {
String r1 = jedis.setex("loginstate", 5, "yes");
System.out.println(r1);//返回OK
System.out.println(jedis.get("loginstate"));
Thread.sleep(6000);//睡眠
System.out.println(jedis.get("loginstate"));//过期 }
/**
* 只有在 key 不存在时设置 key 的值。
* @throws Exception
*/
@Test
public void jedis_setnx() throws Exception {
//只有在 key 不存在时设置 key 的值。
Long r1 = jedis.setnx("top", "1");//返回值1设置ook, 0失败设置
System.out.println(r1);
r1 =jedis.setnx("top", "2");// 0失败设置
System.out.println(r1); } @Test
public void jedis_mget() {
//一次设置多个key/value,必须成对出现
String r1 = jedis.mset("daxin","first","la","laji");
System.out.println(r1);
System.out.println(jedis.get("daxin"));
System.out.println(jedis.get("la")); } /**
* 用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
*/
@Test
public void jedis_range() {
jedis.set("top", "top-k");
jedis.setrange("top", 2, "*");//此处是覆盖,不是插入
System.out.println(jedis.get("top"));
} /**
* 返回 key 所储存的字符串值的长度。
*/
@Test
public void jedis_strlen() {
jedis.set("top", "top-k");
System.out.println(jedis.strlen("top"));
} /**
* 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
*/
@Test
public void jedis_msetnx() {
jedis.set("top", "top-k");
//注意:要所有的key都不存在才可以插入,否则全不插入
jedis.msetnx("top","toptop","111","1111");
System.out.println(jedis.get("top"));
System.out.println(jedis.get("111")); }
/**
* 这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
* @throws Exception
*/
@SuppressWarnings("deprecation")
@Test
public void jedis_psetex() throws Exception {
jedis.psetex("top", 1000*60, "一分钟失效");
System.out.println(jedis.get("top"));
Thread.sleep(1000*60);
System.out.println(jedis.get("top"));
} }
Redis String类型的API使用的更多相关文章
- [置顶] Redis String类型数据常用的16条命令总结
Redis String类型数据常用的16条命令总结 描述:String 类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比 ...
- C# 通过ServiceStack 操作Redis——String类型的使用及示例
1.引用Nuget包 ServiceStack.Redis 我这里就用别人已经封装好的Reids操作类,来演示,并附上一些说明 RedisConfigInfo--redis配置文件信息 /// < ...
- Redis string类型常用操作
Redis 有 string.list.set.zset.hash数据类型.string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习re ...
- redis string类型设置过期时间后 再进行set操作,会清除过期时间
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_41756437/article/d ...
- Redis - string类型操作
以个人信息为例操作string类型 设置操作: set: set key value 创建key-value名值对 setnx: setnx key value ...
- Redis学习第二课:Redis String类型及操作
Strings类型 String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象. Strings类型的操作: Set:设置 ...
- redis string类型 增删改查
string一.设置 1.设置一个键值对时,如果该键已存在,那么就成了updata (key:value) 例: set name jiang 访问值:get name 2.设置值过期时间:setex ...
- redis string类型
- [redis] redis 对string类型数据操作
package com.xwolf.java.redis; import org.junit.Before; import org.junit.Test; import redis.clients.j ...
随机推荐
- [转]Angular2 使用管道Pipe以及自定义管道格式数据
本文转自:https://www.pocketdigi.com/20170209/1563.html 管道(Pipe)可以根据开发者的意愿将数据格式化,还可以多个管道串联. 纯管道(Pure Pipe ...
- 三层+EasyUI+Ajax 提交Form表单
源代码下载:http://download.csdn.net/download/qq_25237531/10267746
- Nginx 500错误总结
Nginx 500错误总结 500(服务器内部错误) 服务器遇到错误,无法完成请求. 501(尚未实施) 服务器不具备完成请求的功能.例如,当服务器无法识别请求方法时,服务器可能会返回此代码. 502 ...
- 设计模式之适配器模式(Adapter)(6)
简介 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象.那么如果将“将现存的对象”在新的环境中进行调用呢? ...
- html一些标签在不同浏览器或者不同版本浏览器的注意事项
最近在IE10下运行一个以前的做web系统发现了两个小问题: 一.图片上使用"alt"属性来添加一些文字提示信息在IE10下无法正常显示出来 上网查了一下原因:原来是现在一 ...
- 【代码笔记】Web-HTML-脚本
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- Salesforce的公式和验证规则
公式 在Salesforce中,有些功能不需要从数据库中直接读取的数据,而是基于这些数据之间的关系来做出判断.这种情况下就要用到"公式"功能. 公式的概念和Excel中的公式类似, ...
- WebLogic登录管理控制台、以及相关问题解决
1.控制台的登录 登录地址是: http://管理实例IP:端口号/console 其中,管理实例的IP或者是管理实例所在主机的主机名 端口号默认7001 因此通过http://localhost:7 ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- MYSQL获取当前年、季、月、周第一天、最后一天的日期/时间戳
因为做一些商场某个会员今年的消费分析,所以对sql中时间的获取进行了判断. 例如获取今年(即当前年的第一天到昨天0时之间)的消费总额. 如果需要时间戳转换,用UNIX_TIMESTAMP()函数. 一 ...