- 浏览: 421740 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (269)
- 原创 (7)
- Java (51)
- Java Concurrency (2)
- IDE (16)
- Linux (46)
- Database (23)
- NoSQL (35)
- Web服务器 (23)
- Log日志 (11)
- HTTP (11)
- HTML (2)
- XML (1)
- Test (7)
- Mina (0)
- Amoeba (4)
- Cobar (1)
- 序列化 (2)
- Python (5)
- PHP (1)
- Socket通信 (1)
- Network (3)
- Struts (2)
- Web前端 (10)
- Maven (6)
- SVN (15)
- Json (1)
- XMPP (2)
- Go (1)
- Other (4)
- 未整理 (5)
最新评论
-
u012374672:
[color=darkred][/color][flash=2 ...
Mongo的ORM框架的学习Morphia(annotations) -
b_l_east:
很有问题啊
利用redis的transaction功能,实现分布式下加锁
package jedis; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.junit.After; import org.junit.Before; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; /** * @Company:www.shopin.net User: minxr Date: 11-9-9 Time: 下午5:44 */ public class TestJedis { JedisPool pool; Jedis jedis; @Before public void setUp() { pool = new JedisPool(new JedisPoolConfig(), "172.16.100.184"); jedis = pool.getResource(); jedis.auth("password"); } /** * Redis存储初级的字符串 CRUD */ // @Test public void testBasicString() { // -----添加数据---------- jedis.set("name", "minxr");// 向key-->name中放入了value-->minxr System.out.println(jedis.get("name"));// 执行结果:minxr // -----修改数据----------- // 1、在原来基础上修改 jedis.append("name", "jarorwar"); // 很直观,类似map 将jarorwar // append到已经有的value之后 System.out.println(jedis.get("name"));// 执行结果:minxrjarorwar // 2、直接覆盖原来的数据 jedis.set("name", "闵晓荣"); System.out.println(jedis.get("name"));// 执行结果:闵晓荣 // 删除key对应的记录 jedis.del("name"); System.out.println(jedis.get("name"));// 执行结果:null /** * mset相当于 jedis.set("name","minxr"); jedis.set("jarorwar","闵晓荣"); */ jedis.mset("name", "minxr", "jarorwar", "闵晓荣"); System.out.println(jedis.mget("name", "jarorwar")); } /** * jedis操作Map */ // @Test public void testMap() { Map<String, String> user = new HashMap<String, String>(); user.put("name", "minxr"); user.put("pwd", "password"); jedis.hmset("user", user); // 取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List // 第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数 List<String> rsmap = jedis.hmget("user", "name"); System.out.println(rsmap); // 删除map中的某个键值 // jedis.hdel("user","pwd"); System.out.println(jedis.hmget("user", "pwd")); // 因为删除了,所以返回的是null System.out.println(jedis.hlen("user")); // 返回key为user的键中存放的值的个数1 System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key [pwd, name] System.out.println(jedis.hvals("user"));// 返回map对象中的所有value [minxr, // password] Iterator<String> iter = jedis.hkeys("user").iterator(); while (iter.hasNext()) { String key = iter.next(); System.out.println(key + ":" + jedis.hmget("user", key)); } } /** * jedis操作List */ // @Test public void testList() { // 开始前,先移除所有的内容 jedis.del("java framework"); System.out.println(jedis.lrange("java framework", 0, -1)); // 先向key java framework中存放三条数据 jedis.lpush("java framework", "spring"); jedis.lpush("java framework", "struts"); jedis.lpush("java framework", "hibernate"); // 再取出所有数据jedis.lrange是按范围取出, // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有 System.out.println(jedis.lrange("java framework", 0, -1)); } /** * jedis操作Set */ // @Test public void testSet() { // 添加 jedis.sadd("sname", "minxr"); jedis.sadd("sname", "jarorwar"); jedis.sadd("sname", "闵晓荣"); jedis.sadd("sanme", "noname"); // 移除noname jedis.srem("sname", "noname"); System.out.println(jedis.smembers("sname"));// 获取所有加入的value System.out.println(jedis.sismember("sname", "minxr"));// 判断 minxr // 是否是sname集合的元素 System.out.println(jedis.srandmember("sname")); System.out.println(jedis.scard("sname"));// 返回集合的元素个数 } // @Test public void test() throws InterruptedException { // keys中传入的可以用通配符 System.out.println(jedis.keys("*")); // 返回当前库中所有的key [sose, sanme, name, // jarorwar, foo, sname, java // framework, user, braand] System.out.println(jedis.keys("*name"));// 返回的sname [sname, name] System.out.println(jedis.del("sanmdde"));// 删除key为sanmdde的对象 删除成功返回1 // 删除失败(或者不存在)返回 0 System.out.println(jedis.ttl("sname"));// 返回给定key的有效时间,如果是-1则表示永远有效 jedis.setex("timekey", 10, "min");// 通过此方法,可以指定key的存活(有效时间) 时间为秒 Thread.sleep(5000);// 睡眠5秒后,剩余时间将为<=5 System.out.println(jedis.ttl("timekey")); // 输出结果为5 jedis.setex("timekey", 1, "min"); // 设为1后,下面再看剩余时间就是1了 System.out.println(jedis.ttl("timekey")); // 输出结果为1 System.out.println(jedis.exists("key"));// 检查key是否存在 System.out.println(jedis.rename("timekey", "time")); System.out.println(jedis.get("timekey"));// 因为移除,返回为null System.out.println(jedis.get("time")); // 因为将timekey 重命名为time 所以可以取得值 // min // jedis 排序 // 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的) jedis.del("a");// 先清除数据,再加入数据进行测试 jedis.rpush("a", "1"); jedis.lpush("a", "6"); jedis.lpush("a", "3"); jedis.lpush("a", "9"); System.out.println(jedis.lrange("a", 0, -1));// [9, 3, 6, 1] System.out.println(jedis.sort("a")); // [1, 3, 6, 9] //输入排序后结果 System.out.println(jedis.lrange("a", 0, -1)); } @After public void destory() { pool.returnResource(jedis);// 使用完之后将连接返回到连接池中 pool.destroy();// 销毁连接池中的所有连接 } }
发表评论
-
mongodb 地理位置处理
2016-05-16 13:39 1390我只记录我用到的部分,没有完整分析mongodb对地理位置 ... -
Redis配置文件redis.conf
2014-11-14 14:10 1844# Redis configuration file ex ... -
Redis高可用部署及监控
2014-11-12 13:25 1078一、 Re ... -
JCS官方文档的简单笔记,仅供自己参考
2014-09-26 20:08 7531. 基本配置 jcs.default=DCjcs.de ... -
JCS基本配置
2014-09-26 19:39 9191、默认的内存缓存 ... -
NoSQL解决方案比较(MongoDB vs Redis, Tokyo Cabinet, and Berkeley DB)
2013-09-30 14:20 1315NoSQL解决方案比较 NoSQL Solution: E ... -
morphia与spring的整合
2012-12-07 15:06 1462转自: http://www.blogjava.net/wat ... -
Mongo的ORM框架的学习Morphia(十五)Morphia+spring整合
2012-12-07 15:06 1634转自:http://topmanopensource.itey ... -
Mongo的ORM框架的学习Morphia(十二) morphia的Query和Update
2012-12-07 15:06 1843转自:http://topmanopensource.itey ... -
Mongo的ORM框架的学习Morphia(十) morphia应用
2012-12-05 14:47 1437转自:http://topmanopensource.itey ... -
Mongo的ORM框架的学习Morphia(九) morphia简单使用
2012-12-05 14:44 1350转自 http://topmanopensource.itey ... -
Mongo的ORM框架的学习Morphia(八) morphia数据库访问接口
2012-12-05 14:35 1994转自:http://topmanopensource.itey ... -
Mongo的ORM框架的学习Morphia(annotations)
2012-12-05 14:33 2507一:@Entity的使用 @Entity ... -
Instagram的Redis实践(内存占用优化)
2012-11-30 10:43 1173转自:http://blog.nosqlfan.com/htm ... -
SQL 和Mongo 对比图表
2012-11-28 14:54 2182参看官方说明: http://www.mongodb ... -
MongoDB 入门指南、示例
2012-11-23 10:38 830转自:http://www.cnblogs.com/hoojo ... -
mongodb中使用MapReduce
2012-11-23 10:12 1190MapReduce函数的用法如下: db.users.ma ... -
python的redis用法
2012-11-22 15:48 1144#! /usr/bin/env python #coding ... -
Python连接redis
2012-11-22 15:46 5587一、Redis是流行的NOSQL内存数据库,以Key-Valu ... -
【pipeline】【分布式的id生成器】【分布式锁【watch】【multi】】【redis分布式】
2012-08-29 10:42 1350转自 http://www.bwkeji.com/a/wang ...
相关推荐
jedis封装的多种数据类型的常见命令,包括SET,STRING,LIST等等数据类型,传上来供大家共同学习
通过Jedis操作Redis中定义的5中数据类型
java操作redis代码示例 ,注释,Jedis的api操作注释详细。
Java通过Jedis操作Redis,演示Redis基本数据类型,主从复制,事务。
此java类配置redis的ip,port,超时时间,获取jedis,然后通过jedis操作string,list,hash,set,zset等数据结构的实例,展示怎么调用jedisAPI
Jedis操作Redis的案例,主要涉及MyBatis持久层框架、Jedis工具类、Servlet、JSP页面等技术
使用redisson替代jedis中的的对应方法,以及对应的redis的命令在这三方中对应查询及操作,
jedis通过JedisSentinelPool获取jedis操作redis,通过配置sentienl,获取sentinel连接池,通过sentinel,获取jedis信息
jedis jar包; 版本:2.0 2.1
Java中使用Jedis操作Redis 文档比较详细, 具体的方法都进行了介绍了, 适合新手, 和老程序员进行复习, jedis api比较乱, 特此整理.
Jedis连接池使用方法,Jedis数据类型操作及事务简单介绍
此资源为工程代码,需要安装redis缓存数据库才可以使用,使用jedis操作redis
Jedis 操作Redis 集群demo,仅作参考
jedis
【Redis】使用 Jedis 操作 Redis 数据库 ② ( Jedis API 规律 | Redis 命令与 Jedis 函数名称基本一致 | Jedis API 使用示例 ) https://hanshuliang.blog.csdn.net/article/details/129128393 博客代码示例
解决redis集群模式下,jedis不能批量操作问题..............................................................................
jedis5种数据的测试,已经写好测试代码方便拿来直接使用
NULL 博文链接:https://fxzcollege6.iteye.com/blog/2211127
Redis使用lettuce和jedis
赠送jar包:jedis-3.6.0.jar; 赠送原API文档:jedis-3.6.0-javadoc.jar; 赠送源代码:jedis-3.6.0-sources.jar; 赠送Maven依赖信息文件:jedis-3.6.0.pom; 包含翻译后的API文档:jedis-3.6.0-javadoc-API文档-...