用Jedis连接Redis
jedis中的方法名,和Redis的命令几乎一样
1.jar包,作为测试只需要一个jar

2.代码
package com; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import org.junit.Before;
import org.junit.Test; import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline; /**
* 使用jedis连接Redis
*/
public class TestJedis { private Jedis j; /**
* 连接redis
*/
@Before
public void before(){ j = new Jedis("localhost", 6379);
} /**
* 操作String类型
*
*/
@Test
public void test00(){ //添加数据:添加数据时,若key值相同,则value的值会覆盖
j.set("name1", "李四"); //添加数据并设置有效期:第二个参数为有效时间:10秒,超过时间key自动销毁
j.setex("name2", 10, "有效期10秒"); //添加多条数据
j.msetnx("name3", "王五","name4","赵六"); //删除
j.del("name2"); //取数据
System.out.println( j.get("name1") ); //查看key的剩余时间
System.out.println( j.ttl("name3") ); //批量获取key
List<String> mget = j.mget("name1","name3"); for (String string : mget) {
System.out.println(string);
}
} /**
* List类型
*/
@Test
public void test01(){ //清空数据库
j.flushDB(); //向key=name1,添加三条数据
j.lpush("name1", "张三","李四","王五"); //按下标取出数据,0代表第一个元素,-1代表最后一个元素
List<String> list = j.lrange("name1", 0, -1);
for (String string : list) {
System.out.println(string);
} //除了第一个元素,其他全部删除
j.ltrim("name1", 0, 0); } /**
* HashSet
*/
//
@Test
public void test02(){
//清空数据库
j.flushDB(); //添加
j.sadd("name1", "1","2","3"); //查所有
Set<String> smembers = j.smembers("name1");
for (String string : smembers) {
System.out.println(string);
}
} /**
* SortedSet
*/ @Test
public void test3(){
j.del("name1"); //添加分数为1好2的两条数据
j.zadd("name1", 3, "张三");
j.zadd("name1",1,"李四"); //
Set<String> zrange = j.zrange("name1", 0, -1);
for (String string : zrange) {
System.out.println(string); // 输出: 李四,张三
}
} /**
* HashMap
*/
@Test
public void test04(){
j.del("name1");
//添加map源数据
HashMap<String,String> map = new HashMap<String,String>();
map.put("name1", "张三");
map.put("name2", "李四"); //向Redis添加数据
j.hmset("names", map); //查询map中的数据
List<String> hmget = j.hmget("names","name1","name2");
for (String string : hmget) {
System.out.println(string);
}
} /**
* 批量插入
*/
@Test
public void test05(){
//开始时间
long begin = System.currentTimeMillis(); //批量插入
Pipeline pipelined = j.pipelined(); for (int i = 0; i < 100000; i++) { pipelined.set("name"+ i, "value"+i);
}
//释放
pipelined.sync(); //结束时间
long end = System.currentTimeMillis(); System.out.println( ( (end - begin) /1000.0 ) +"秒");
} }
用Jedis连接Redis的更多相关文章
- jedis 连接 redis
一.连接单机版的 redis /** * 直接连接 redis * @throws Exception */ @Test public void test1() throws Exception { ...
- 通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool
一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使 ...
- 关于Jedis连接redis出现问题
环境说明: redis服务器系统:ubuntu ip 192.168.10.9 port 6379 两台电脑:一个作为专门的服务器,一个是开发环境,以下一顿操作皆基于开发环境. 就这样的简单的代码连接 ...
- Java 使用Jedis连接Redis数据库(-)
redis 安装: Linux 安装redis 1)下载jar包: 使用Jedis需要以下两个jar包: jedis-2.8.0.jar commons-pool2-2.4.2.jar 2)测试red ...
- Jedis连接Redis三种模式
这里说的三种工作模式是指: 1.单机模式 2.分片模式 3.集群模式(since 3.0) 说明图详见以下: 使用单机模式连接: private String addr="192.168.1 ...
- Jedis连接redis
今天与大家分享下,Jedis连接池使用.先看一段JAVA 代码: JedisPoolConfig config = new JedisPoolConfig(); con ...
- Jedis连接redis客户端
1 单点的redis利用jedis客户端连接 如何连接 //1 利用jedis连接对象操作redis @Test public void test01(){ //构造一个具有连接信息的jedis对象 ...
- springboot 使用 jedis 连接 Redis 数据库
1. 在 pom.xml 配置文件中添加依赖 <!-- redis 依赖 --> <dependency> <groupId>org.springframework ...
- 20190928-02使用Redis客户端Jedis连接Redis,以及用Java代码操作Redis 000 030
启动redis package com.yujie.jedis; import java.util.HashMap; import java.util.Map; import java.util.Se ...
随机推荐
- dede:field name='imgurls'不能二次使用的解决办法
{dede:field name='imgurls' alt='图片输出区'}图片链接 [field:linkurl/]图片地址 [field:imgsrc/]{/dede:field} 这个标签不 ...
- Android细笔记--ContentProvider
Provider的不常见访问方式 Batch access:访问ContentProvider的一中模式,使用该模式可以同时对provider进行多个操作,且支持同时操作多个表.使用时首先构建一个Co ...
- RunTime&RunLoop初见
什么是runtime 1> runtime是一套底层的c语言API(包括很多强大实用的c语言类型,c语言函数); 2>实际上,平时我们编写的oc代码,底层都是基于runtime实现的 也就 ...
- IOS 杂笔-17(堆区栈区等)
栈区(stack):由系统自动分配,一般存放函数参数值.局部变量的值等.由编译器自动创建与释放.其操作方式类似于数据结构中的栈,即后进先出.先进后出的原则. 例如:在函数中申明一个局部变量int b; ...
- 使用Project进行项目管理 - 项目管理系列文章
前面当项目经理的时候曾经用到过Project来进行项目管理.这些天闲着无事,将代码翻出来留念了一下,现在将Project项目管理的东西也翻出来玩玩. 微软的Project是一款不错的软件,经过微软这么 ...
- EntityFramework简介
EntityFramework是什么? 1.是对ADO.NET 更高封装的ORM (对象关系映射)框架,跟Nhibernate类似 2.用面向对象的方式来操作关系数据库 3.目标: 提高开发效率,减轻 ...
- 大数据系列(2)——Hadoop集群坏境CentOS安装
前言 前面我们主要分析了搭建Hadoop集群所需要准备的内容和一些提前规划好的项,本篇我们主要来分析如何安装CentOS操作系统,以及一些基础的设置,闲言少叙,我们进入本篇的正题. 技术准备 VMwa ...
- Redis时延问题分析及应对
Redis时延问题分析及应对 Redis的事件循环在一个线程中处理,作为一个单线程程序,重要的是要保证事件处理的时延短,这样,事件循环中的后续任务才不会阻塞: 当redis的数据量达到一定级别后(比如 ...
- Java日志框架:SLF4J,Common-Logging,Log4J,Logback说明
Log4j Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务 器.NT的事件记录器.UNIX Syslog守护进程等 ...
- Log4J基础详解及示例大全
去年这个时候,为做软件工程的大作业就详细学过Log4J的用法了,时隔一年想要在新的项目中好好使用一下的时候,发现几乎全忘了,悲催啊-- 再上网查资料,总是不能找到一篇符合我的口味,拿来就能轻松上手,方 ...