- 浏览: 742298 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
萨琳娜啊:
Java读源码之Netty深入剖析网盘地址:https://p ...
使用JAVA操作netty框架 -
小灯笼:
Netty源码剖析视频教程网盘地址:https://pan.b ...
使用JAVA操作netty框架 -
luckywind:
请问怎么下载那个svn上的源码啊?
本地调试Hbase源码详解 -
heng123:
Netty视频教程https://www.douban.com ...
使用JAVA操作netty框架 -
kongdong88:
Netty简单应用与线上服 ...
使用JAVA操作netty框架
import org.junit.After; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; import javax.sound.midi.Soundbank; import java.util.*; /** * @author: flychao88 * Time: 2012.5.7 16:23:15 */ public class RedisTest { 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)); }
评论
4 楼
wangyi_xuxiaowei
2016-03-02
no87木 写道
搂主我在学习jedis时,跑你的代码
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")); //出现问题了啊
我跑这段代码的时候,rename时候就报错“ERR no such key”,而且timekey这个key并没有超时。
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")); //出现问题了啊
我跑这段代码的时候,rename时候就报错“ERR no such key”,而且timekey这个key并没有超时。
报错就说明,key失效了!
3 楼
未闻花铭
2015-04-28
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import javax.sound.midi.Soundbank;
这些包是在哪里下载的
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import javax.sound.midi.Soundbank;
这些包是在哪里下载的
2 楼
zxjlwt
2015-04-11
学习了。
http://surenpi.com
http://surenpi.com
1 楼
no87木
2014-03-24
搂主我在学习jedis时,跑你的代码
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")); //出现问题了啊
我跑这段代码的时候,rename时候就报错“ERR no such key”,而且timekey这个key并没有超时。
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")); //出现问题了啊
我跑这段代码的时候,rename时候就报错“ERR no such key”,而且timekey这个key并没有超时。
发表评论
-
hadoop1.2.1+hbase集群详解
2014-03-10 18:54 2021最近我由于工作原因,我要搭建一套hadoo ... -
[FastDFS] FastDFS 配置文件详解(修订版1) 【转】
2013-10-29 20:23 1191本帖最后由 happy_fish100 于 2012-11 ... -
hadoop 命令手册
2013-10-08 15:11 835hadoop 命令手册 概述 所有的hadoop ... -
Hadoop hdfs Shell命令 HDFS操作命令
2013-10-08 12:45 1019调用文件系统(FS)Shell命令应使用 bi ... -
hbase性能测试对比分析
2013-09-30 13:10 12576数据库读写性能分析 1、 单机类比集群测试 测试环境: ... -
如何安装FastDFS
2012-11-14 10:31 18195目前FastDFS支持类Unix系统 ,在Linux ... -
五种基本memcached 命令
2012-11-14 10:27 1074五种基本memcached 命令(执行最简单的操作): s ... -
NOSQL的总结感想
2012-05-14 09:21 2198NoSQL主要用于解决以下几种问题 少量数据存储,高速读写 ... -
Redis配置文件说明
2012-03-28 14:24 1060配置文件参数说明: 1. Redis默认不是以守护进 ... -
利用JAVA操作MongoDB
2012-03-28 13:34 4644package com.hoo.test; im ... -
如何在MongoDB中建立新数据库和集合
2012-03-28 11:15 1046一、创建Mongodb数据库 由于Mongodb不是关系 ... -
Redis 认识的几个误区
2012-03-27 09:47 931Redis几个认识误区 前几 ... -
Redis使用总结
2012-03-27 09:45 9641、常用内存优化手段与 ... -
8种Nosql数据库系统对比
2012-02-28 16:11 8751. CouchDB •所用语言: Erlang •特点:DB ...
相关推荐
分布式Redis原子操作示例,近期项目中遇到分布式项目中多节点大并发操作redis同一个key。此案例利用java调用LUA脚本实现redis操作的原子性。分享出来大家参考。
工作分享:Java中利用jedis操作redis示例,可以直接拿来用,也可以参考学习
Jedis是Redis官方推荐的用于访问Java客户端,下面这篇文章主要给大家介绍了关于Java客户端利用Jedis操作redis缓存的相关资料,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧。
利用redis list和hash存法实现数据带排序增删改查
14、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个? 15、Redis 和 Redisson 有什么关系? 16、Jedis 与 Redisson 对比有什么优缺点? 17、Redis 如何设置密码及验证密码? 18、说说 Redis 哈希槽的概念? 19、...
java抢票系统源码 本项目是以学习的目的来一步一步实现一个最简单的基于Redis实现的分布式锁 简介 在分布式环境中,需要一种跨JVM的互斥机制来控制共享资源的访问 例如,为避免用户操作重复导致交易执行多次,使用...
Java集成步骤包括:引入Redis客户端依赖、编写分布式锁工具类利用Redis命令实现加锁/解锁等操作。 3. 集成Spring Boot: Spring Boot可以大大简化Java应用的开发过程。集成Spring Boot主要包括:创建Spring Boot项目...
利用redis广播消息更新集群环境下本地缓存,包含说明和代码。 在软件系统开发中,有时需要将系统元数据放在数据库中,使用时再从数据库中查询。为避免频繁访问数据库,提升系统性能,需要将更新不频繁的数据放到本地...
不利用spring-data-redis整合 操作redis
用Java代码实现redis的增删改操作 利用SpringBoot框架技术 简易redis,方便理解
利用redis缓存处理高并发业务,如积分抢购、活动等
项目标题:深入探索...本项目特色在于利用Redis的高级特性实现布隆过滤器以及限流机制,旨在提高系统在高并发场景下的处理能力和资源利用率。通过源码的深入分析和实践,让开发者对Redis的高级应用有更深刻的理解。
4利用Easy Excel进行excel表格的读写操作,实现数据导入导出处理(使用Apache Poi的5案例可以移步我的另一个项目——小区智能管理系统) 6拥有完整的用户网上下单到入住、用户前台直接入住的流程 7拥有可改进的房间...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...
利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...
利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...
利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...
利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...
利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类...