用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 ...
随机推荐
- gcc boost版本冲突解决日记
问题背景 项目在Ubuntu10 64位 boost 1.55,boost采用的是项目内包含相对目录的形式部署 项目采用了 -Wall -Wextra -Werror -Wconversion 最高的 ...
- Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现
如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...
- CSS3选择器——基本选择器
CSS是一种用于屏幕上渲染html,xml等一种语言,CSS主要是在相应的元素中应用样式,来渲染相对应用的元素,那么这样我们选择相应的元素就很重要了,如何选择对应的元素,此时就需要我们所说的选择器.选 ...
- SQLite浅析
对于iOS工程师有一道常考的面试题,即iOS数据存储的方式 标答如下: Plist(NSArray\NSDictionary) Preference (偏好设置\NSUserDefaults) NSC ...
- iOS 最新版 CocoaPods 的安装流程
iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...
- 《C#高级编程》读书笔记
<C#高级编程>读书笔记 C#类型的取值范围 名称 CTS类型 说明 范围 sbyte System.SByte 8位有符号的整数 -128~127(−27−27~27−127−1) sh ...
- [Java编程思想-学习笔记]第4章 控制执行流程
4.1 return 关键字return有两方面的用途:一方面指定一个方法结束时返回一个值:一方面强行在return位置结束整个方法,如下所示: char test(int score) { if ...
- C# 自定义文件图标 双击启动 (修改注册表)
程序生成的自定义文件,比如后缀是.test 这种文件怎么直接启动打开程序,并打开本文件呢 1.双击打开 2.自定义的文件,有图标显示 3.自定义的文件,点击右键有相应的属性 后台代码:(如何在注册表中 ...
- java请求https地址如何绕过证书验证?
原文http://www.blogjava.net/hector/archive/2012/10/23/390073.html 第一种方法,适用于httpclient4.X 里边有get和post两种 ...
- linux中的输入从定向和输出重定向
linux的标准的输入和输出为如下 我们在 linux中执行命令时,命令默认输出到console中,很多时候我们需要将命令输出到其他设备上如最常见的就文件中去,或者重文件中输入.那这时候就需要用到li ...