设为首页 收藏本站
查看: 634|回复: 0

[经验分享] redis

[复制链接]

尚未签到

发表于 2015-7-22 12:30:49 | 显示全部楼层 |阅读模式
  中文命令参考手册

import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

/**
* jedis String 类型操作
* @author http://blog.iyunv.com/java2000_wl
* @version 1.0
*/  
public class RedisStringTest {
private Jedis jedis;
/**
* 初始化连接
* ------------------------------
*/
@Before
public void before() {
jedis = new Jedis("127.0.0.1");
jedis.auth("java2000_wl");
}
/**
* 断开连接
* ------------------------------
*/
@After
public void after() {
jedis.disconnect();
}
/**
* set 如果存在相同的key 覆盖旧值
* 总是返回OK
* ------------------------------
*/
@Test
public void testSet() {
String result = jedis.set("blog", "java2000_wl");
print(result);
jedis.set("blog", "java2000_wl_new");
print(result);
}
/**
* setnx 如果key存在 不做任何操作  返回0,
*    如果key不存在  设置值成功 返回1
* ------------------------------
*/
@Test
public void testSetnx() {
long result = jedis.setnx("blog1", "java2000_wl");
print(result);
}
/**
* setex 设置值  并指定键值对应的有效期  单位为秒
* 如果key 存在 覆盖旧值  成功返回 OK
* ------------------------------
*/
@Test
public void testSetex() {
String result = jedis.setex("setex", 60, "setex_value");
print(result);
}
/**
* setrange 通过key 和  offset 替换value
* 例如:setex - > setex_value   
* jedis.setrange("setex", 6, "Setrange")
*   
* 替换为 setex_Setrange
* ------------------------------
*/
@Test
public void testSetrange() {
// setex_value  被替换为: setex_Setrange
long result = jedis.setrange("setex", 6, "Setrange");
print(result);
print(jedis.get("setex"));
}
/**
* mset 同时设置一个或多个 key-value对。
* 如果某个key-value 存在  会用新值覆盖原来的旧值, 总是成功, 成功返回OK
* ------------------------------
*/
@Test
public void testMset() {
String result = jedis.mset("key1", "value1", "key2", "value2", "key..", "value..");
print(result);
}
/**
* msetnx 同时设置一个或多个 key-value对。
* 如果某个key-value存在   返回0  所有操作都会回滚, 如果成功 返回ok
* ------------------------------
*/
@Test
public void testMsetnx() {
long result = jedis.msetnx("msetnxKey1", "msetnxValue1", "msetnxKey2", "msetnxValue2");
print(result);
}
/**
* get 通过key 获取对应的value  如果key不存在 返回nil
* ------------------------------
*/
@Test
public void testGet() {
String value = jedis.get("msetnxKey1");
print(value);
}
/**
* getset 通过key 获取对应的value 然后通过key 设置信的value
* ------------------------------
*/
@Test
public void testGetSet() {
String value = jedis.getSet("key1", "value_new");
print(value);
value = jedis.get("key1");
print(value);
}
/**
* 返回key对应的value  在由start 和 end 两个偏移量截取
* ------------------------------
*/
@Test
public void testGetrange() {
String value = jedis.getrange("key1", 6, 8);
print(value);
}
/**
* 返回多个key 对应的value
* ------------------------------
*/
@Test
public void testMget() {
List list = jedis.mget("key1", "key2", "key3");
print(list);
}
/**
* 对key对应的value  做+1操作  返回+1后的新值
* ------------------------------
*/
@Test
public void testIncr() {
jedis.set("incr", "2");
// 返回33
Long result = jedis.incr("incr");
print(result);
}
/**
* 对key对应的value 加指定值 返回新值  如果key不存在 认为原来的value为0
* ------------------------------
*/
@Test
public void testIncrBy() {
jedis.set("incrBy", "2");
// 返回7
Long result = jedis.incrBy("incrBy", 5);
print(result);
}
/**
* 对key对应的value 做-1操作  返回新值
* ------------------------------
*/
@Test
public void testDecr() {
// 7 - 1
Long result = jedis.decr("incrBy");
print(result);
}
/**
* 对key对应的value 减去指定值  返回新值  如果key不存在    认为原来的value为0
* ------------------------------
*/
@Test
public void testDecrBy() {
Long result = jedis.decrBy("DecrBy", 5);
print(result);
}
/**
* 给指定的key的值追加, 返回新字符串的长度
* ------------------------------
*/
@Test
public void testAppend() {
// 追加前 value_new
String old = jedis.get("key1");
print(old);
// 追加后  value_new124
Long long1 =jedis.append("key1", "124");
print(long1);
}
/**
* 取得指定key的value值的长度
* ------------------------------
*/
@Test
public void testStlen() {
long len = jedis.strlen("key1");
print(len);
}
void print(Object object) {
System.out.println(object.toString());
}
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-89475-1-1.html 上篇帖子: 十五分钟介绍 Redis 数据结构 下篇帖子: mongodb, redis 64位win7 wampserver配置过程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表