Jedis 基本使用
引入 jedis 依赖:
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<!-- Dec 15, 2019 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
简单测试:
public class TestRedis {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
jedis.set("foo", "bar");
String value = jedis.get("foo");
System.out.println(value);
}
}
常用数据类型测试:
public class TestRedisCommands {
private Jedis jedis;
@Before
public void setUp() {
jedis = new Jedis("localhost", 6379);
}
@Test
public void testBasicString(){
jedis.set("name","meepo");
System.out.println(jedis.get("name")); //执行结果:meepo
jedis.append("name","dota");
System.out.println(jedis.get("name")); //执行结果:meepodota
jedis.set("name","poofu");
System.out.println(jedis.get("name")); //执行结果:poofu
jedis.del("name");
System.out.println(jedis.get("name")); //执行结果:null
jedis.mset("name","meepo","dota","poofu"); //同时设置多个字符串
System.out.println(jedis.mget("name","dota"));
}
@Test
public void testMap(){
Map<String, String> user = new HashMap<String, String>();
user.put("name", "meepo");
user.put("pwd", "password");
user.put("age", "18");
jedis.hmset("user", user);
//结果是一个泛型的List
//第一个参数是key,后面的参数是map中的对象的key,可以是多个
List<String> rsmap = jedis.hmget("user", "name");
System.out.println(rsmap); //执行结果:[meepo]
jedis.hdel("user","age");
System.out.println(jedis.hmget("user", "age")); //执行结果:null
System.out.println(jedis.hlen("user")); //执行结果:2
System.out.println(jedis.exists("user"));//执行结果:true
System.out.println(jedis.hkeys("user"));//执行结果:[pwd, name]
System.out.println(jedis.hvals("user"));//执行结果:[meepo, password]
Iterator<String> iter=jedis.hkeys("user").iterator();
while (iter.hasNext()){
String key = iter.next();
System.out.println(key+": "+jedis.hmget("user", key));
}
}
@Test
public void testList(){
System.out.println(jedis.lrange("user",0,-1));
jedis.lpush("user","spring");
jedis.lpush("user","struts");
jedis.lpush("user","hibernate");
System.out.println(jedis.lrange("user",0,-1));
}
@Test
public void testSet(){
jedis.sadd("sname","meepo");
jedis.sadd("sname","dota");
jedis.sadd("sname","poofu");
jedis.sadd("sname","noname");
jedis.srem("sname","noname");
System.out.println(jedis.smembers("sname")); //获取所有的value
System.out.println(jedis.sismember("sname", "meepo"));//判断meepo是否为集合的元素
System.out.println(jedis.srandmember("sname")); //随机获取一个元素
System.out.println(jedis.scard("sname")); //返回集合的元素数量
}
@Test
public void test() throws InterruptedException {
System.out.println(jedis.keys("*")); //返回当前库中所有的key
System.out.println(jedis.keys("*name"));//返回的匹配的key
System.out.println(jedis.del("sanmdde"));//删除key,成功返回1,失败返回0
System.out.println(jedis.ttl("sname"));//返回key的有效时间,-1表示永远有效
jedis.setex("mykey", 10, "seconds");//指定key的存活时间为10秒
Thread.sleep(5000);
System.out.println(jedis.ttl("mykey"));//剩余5秒
System.out.println(jedis.exists("key"));//检查key是否存在
System.out.println(jedis.rename("mykey","yourkey")); //重命名
System.out.println(jedis.get("mykey"));//返回为null
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));
}
}
命令参考:http://www.redis.cn/commands.html
API参考:https://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html
Jedis 基本使用的更多相关文章
- Jedis的使用
Redis是常用的key-value存储服务器,Java使用Redis有很多方法,其中官方推荐的是Jedis. 使用Jedis,首先是下载jedis-x.x.x.jar文件并导入工程,然后运行Redi ...
- redis 学习笔记(7)-cluster 客户端(jedis)代码示例
上节学习了cluster的搭建及redis-cli终端下如何操作,但是更常用的场景是在程序代码里对cluster读写,这需要redis-client对cluster模式的支持,目前spring-dat ...
- jedis支持哨兵主从配置role为slave
jedis功能强大,但是不能像nodejs一样指定从slave中读数据,使数据量读写量较大时读写分离,减少redis压力. 我们可以利用jedis中的方法封装一个类似于此的方法. github地址: ...
- Spring + Jedis集成Redis(集群redis数据库)
前段时间说过单例redis数据库的方法,但是生成环境一般不会使用,基本上都是集群redis数据库,所以这里说说集群redis的代码. 1.pom.xml引入jar <!--Redis--> ...
- (转)java redis使用之利用jedis实现redis消息队列
应用场景 最近在公司做项目,需要对聊天内容进行存储,考虑到数据库查询的IO连接数高.连接频繁的因素,决定利用缓存做. 从网上了解到redis可以对所有的内容进行二进制的存储,而java是可以对所有对象 ...
- Jedis 使用范例
public class RedisUtil { Logger logger = LoggerFactory.getLogger(RedisUtil.class); private JedisPool ...
- 【Redis】:Jedis 使用
Redis 支持很多语言, 例如C#,RUBY,JAVA 等, Jedis是redis的java版本的客户端实现 一个简单的Jedis使用 依赖第三方包jedis-2.7.2.jar commons- ...
- 用Jedis连接Redis
jedis中的方法名,和Redis的命令几乎一样 1.jar包,作为测试只需要一个jar 2.代码 package com; import java.util.HashMap; import java ...
- 什么是Jedis?
Jedis 是 Redis 官方首选的 Java 客户端开发包. 实例方法: 1 import redis.clients.jedis.* 1 2 3 Jedis jedis = new Jedis( ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
随机推荐
- maven内存溢出解决方法
maven内存溢出(InvocationTargetException: PermGen space) 解决方案:maven脚本:mvn.bat文件@REM set MAVEN_OPTS=-Xdebu ...
- 【Python】【Algorithm】排序
冒泡排序 dic = [12, 45, 22, 6551, 74, 155, 6522, 1, 386, 15, 369, 15, 128, 123, ] for j in range(1, len( ...
- 【C/C++】拔河比赛/分组/招商银行
题目:小Z组织训练营同学进行一次拔河比赛,要从n(2≤n≤60,000)个同学中选出两组同学参加(两组人数可能不同).对每组同学而言,如果人数超过1人,那么要求该组内的任意两个同学的体重之差的绝对值不 ...
- java中关于string类和常量池的一点猜想
public class StringTest { /** * @param args */ public static void main(String[] args) { test1 ...
- 如何实现 range 函数的参数?
关于 range 函数 Python内置的range函数可以接收三个参数: class range(stop): ... class range(start, stop[, step]): ... 标 ...
- 新建日历(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 默认的标准日历设置好了以后,问题又来了:出现某些特殊的原因,可能还需要一个与标准日历设置不同的日历,这个可怎么弄? 没关系 ...
- 10 - Vue3 UI Framework - Tabs 组件
标签页是非常常用的组件,接下来我们来制作一个简单的 Tabs 组件 返回阅读列表点击 这里 需求分析 我们先做一个简单的需求分析 可以选择标签页排列的方向 选中的标签页应当有下划线高亮显示 切换选中时 ...
- 12 - Vue3 UI Framework - 打包发布
基础组件库先做到这个阶段,后面我会继续新增.完善 接下来,我们对之前做的组件进行打包发布到 npm 返回阅读列表点击 这里 组件库优化 通用层叠样式表 我想大家都注意到了,前面我们在写组件的时候,sc ...
- react 结合gitte 创建项目(详情步骤)
创建项目第一步 基本搭建 在创建之前,需要有一个git 仓库,我们要把项目搭建到git 中 目录介绍 cd 到某个盘 mkdir workspace 创建workspace文件夹 cd works ...
- IDEA快速创建一个简单的SpringBoot项目(需要联网)
一.点击File-New-Project,选择Spring initializr ,选择jdk1.8及以上 二.填写相关信息,点击Next 3.选择Web -Spring Web,点击Next 4.输 ...