Redis学习存档(2)——通过Java使用Redis:Jedis
一、创建项目,引入jedis jar包
可在百度搜索maven repository

进入后搜索jedis,复制依赖包到pom.xml文件中

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.maven.redis</groupId>
<artifactId>Redis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <properties>
<!-- 字符编码UTF-8 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- junit版本 -->
<junit.version>4.9</junit.version>
<!-- jedis版本 -->
<jedis.version>2.9.0</jedis.version>
</properties> <dependencies>
<!-- junit架包 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<!-- jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
</dependencies> </project>
pom.xml
二、连接到Redis
package com.maven.redis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class RedisTest {
@Test
public void testConnect(){//连接
//创建jedis对象 ip+端口号
Jedis jedis = new Jedis("192.168.214.140", 6379);
//ping一下
String result = jedis.ping();
//输出ping结果
System.out.println(result);
//关闭连接
jedis.close();
}
}
结果如下图

三、操作String类型的数据
package com.maven.redis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class RedisTest {
@Test
public void testString(){//String
//创建jedis对象 ip+端口号
Jedis jedis = new Jedis("192.168.214.140", 6379);
//存入
jedis.set("one", "1");
//读取
System.out.println("存入:" + jedis.get("one"));
//更改
jedis.set("one", "111");
System.out.println("更改:" + jedis.get("one"));
//删除
jedis.del("one");
System.out.println("删除:" + jedis.get("one"));
//关闭连接
jedis.close();
}
}
结果如下图

四、操作List类型的数据
package com.maven.redis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class RedisTest {
@Test
public void testList(){//List
//创建jedis对象 ip+端口号
Jedis jedis = new Jedis("192.168.214.140", 6379);
//存入
//从右边插入
jedis.rpush("mylist", "java", "c", "python", "java");
/* 等价于
jedis.rpush("mylist", "java");
jedis.rpush("mylist", "c");
jedis.rpush("mylist", "python");
jedis.rpush("mylist", "java");
*/
System.out.println("第一次存入:" + jedis.lrange("mylist", 0, -1));
//从左边插入
jedis.lpush("mylist", "delphi");
System.out.println("第二次存入:" + jedis.lrange("mylist", 0, -1));
//更改index=2的元素
jedis.lset("mylist", 2, "c++");
System.out.println("更改index=2的元素:" + jedis.lrange("mylist", 0, -1));
//删除所有java元素
jedis.lrem("mylist", 0, "java");
System.out.println("删除所有java元素:" + jedis.lrange("mylist", 0, -1));
//删除List中第一个元素
jedis.lpop("mylist");//rpop即为删除最后一个元素
System.out.println("删除第一个元素:" + jedis.lrange("mylist", 0, -1));
//删除List
jedis.del("mylist");
System.out.println("删除List:" + jedis.lrange("mylist", 0, -1));
//关闭连接
jedis.close();
}
}
结果如下图

五、操作Set类型的数据
package com.maven.redis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class RedisTest {
@Test
public void testSet(){//Set
//创建jedis对象 ip+端口号
Jedis jedis = new Jedis("192.168.214.140", 6379);
//存入
jedis.sadd("myset", "java", "c", "python", "delphi");
//读取
System.out.println("存入:" + jedis.smembers("myset"));
//判读c++是否存在Set中
System.out.print("是否存在c++:");
if(jedis.sismember("myset", "c++")){
System.out.println("have c++");
} else {
System.out.println("no c++");
}
//删除delphi元素
jedis.srem("myset", "delphi");
System.out.println("删除:" + jedis.smembers("myset"));
//存入一个新Set
jedis.sadd("newset", "c++", "c#", "c", ".net");
//取两集合的并集
System.out.println("并集:" + jedis.sunion("myset", "newset"));
//取两集合的交集
System.out.println("交集:" + jedis.sinter("myset", "newset"));
//删除Set
jedis.del("myset");
jedis.del("newset");
System.out.println("删除set:" + jedis.smembers("myset"));
//关闭连接
jedis.close();
}
}
结果如下图

六、操作Sorted Set类型的数据
package com.maven.redis; import java.util.HashMap;
import java.util.Map; import org.junit.Test; import redis.clients.jedis.Jedis; public class RedisTest { @Test
public void testSortedSet(){//Sorted Set
//创建jedis对象 ip+端口号
Jedis jedis = new Jedis("192.168.214.140", 6379);
//存入
Map<String, Double> map = new HashMap<String, Double>();
map.put("c", 2.0);
map.put("java", 1.0);
map.put("python", 3.0);
jedis.zadd("sorted", map);
//读取
System.out.println(jedis.zrange("sorted", 0, -1));
//删除c元素
jedis.zrem("sorted", "c");
System.out.println(jedis.zrange("sorted", 0, -1));
//删除Sorted Set
jedis.del("sorted");
System.out.println(jedis.zrange("sorted", 0, -1));
//关闭连接
jedis.close();
} }
结果如下图

七、操作hashes类型的数据
package com.maven.redis; import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import org.junit.Test; import redis.clients.jedis.Jedis; public class RedisTest { @Test
public void testHashes(){
//创建jedis对象 ip+端口号
Jedis jedis = new Jedis("192.168.214.140", 6379);
//存入
jedis.hset("myhash", "name", "张三");
jedis.hset("myhash", "age", "18");
//读取
//方式一
Map<String, String> hash = jedis.hgetAll("myhash");
Set<Entry<String, String>> entry = hash.entrySet();
for (Entry<String, String> e : entry) {
System.out.println(e.getKey() + "===" + e.getValue());
}
//方式二
System.out.println("name===" + jedis.hget("myhash", "name"));
System.out.println("age===" + jedis.hget("myhash", "age"));
//更改age字段值
jedis.hset("myhash", "age", "20");
System.out.println("age===" + jedis.hget("myhash", "age"));
//删除age字段
jedis.hdel("myhash", "age");
System.out.println("age===" + jedis.hget("myhash", "age"));
//删除hashes
jedis.del("myhash");
System.out.println("name===" + jedis.hget("myhash", "name"));
//关闭连接
jedis.close();
} }
结果如下图

Redis学习存档(2)——通过Java使用Redis:Jedis的更多相关文章
- redis学习心得之三-【java操作redis】
今天主要是讲讲java对redis的操作,来段代码掩饰下基本操作即可明白. java调用你需要下载jedis.jar包 下载网址:https://github.com/xetorthio/jedis/ ...
- Redis学习(三)java使用redis
一.操作步骤 Redis除了命令行操作以外,还可以通过java代码进行操作,流程如下: 下载Jedis依赖包,并丢入工程中合适的位置 在Maven中引入redis的包 <!--引入redis包- ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
- Redis——学习之路二(初识redis服务器命令)
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息 s ...
- 【Redis学习之十一】Java客户端实现redis集群操作
客户端:jedis-2.7.2.jar 配置文件两种方式: properties: redis.cluster.nodes1=192.168.1.117 redis.cluster.port1=700 ...
- Redis学习笔记(一) 初识 Redis
简介 我所在的公司是一个以线下业务为主的公司,软件这一块的东西可以说是手工作坊,技术上的东西全靠大家自己折腾.最近也是觉得自己在社会主义的怀抱里安逸了太久,要提高思想政治觉悟,不能忘了资本主义的黑暗, ...
- Redis——学习之路一(初识redis)
在接下来的一段时间里面我要将自己学习的redis整理一遍,下面是我整理的一些资料: Redis是一款依据BSD开源协议发行的高性能Key-Value存储系统(cache and store),所以re ...
- Redis学习之路(007)- Redis学习手册(实例代码)
在之前的博客中已经非常详细的介绍了Redis的各种操作命令.运行机制和服务器初始化参数配置.本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例. ...
- Redis 学习第一课:安装Linux Redis(Ubantu)
对于分布式缓存,之前公司项目中只使用了MemCached,使用比较方便,有现成的C#版本组件. 如今用Redis的公司有很多,所以打算了解一下Redis. Redis的官网地址:http://redi ...
随机推荐
- Docker安装redis3.2
1.拉取redis3.2镜像 2.使用docker images查看拉去下来的镜像 3.运行容器,命令如下 docker run -p : -v $PWD/data:/data -d redis:3. ...
- Android——coredump解析
撰写不易,转载需注明出处:http://blog.csdn.net/jscese/article/details/46916869本文来自 [jscese]的博客! coredump文件生成前文And ...
- fastjson在将Map<Integer, String>转换成JSON字符串时,出现中文乱码问题
fastjson在将Map<Integer, String>转换成JSON字符串时,出现中文乱码问题. 先记下这个坑,改天在看看是怎么导致的,暂时通过避免使用Integer作为键(使用St ...
- linux服务端导入oracle数据库.sql脚本
一般情况下,后缀名为.sql或者为记事本类型的文本脚本可以通过打开后复制或者直接在客户端打开执行,但如果脚本比较大时(比如文件达到几百M以上), 普通文本工具和数据库客户端都无法打开,哪怕可以打开,也 ...
- Qt编写自定义控件25-自定义QCustomPlot
一.前言 上次在写大屏数据可视化电子看板系统时候,提到过改造QCustomPlot来实现柱状分组图.横向柱状图.横向分组图.鼠标悬停提示等.这次单独列出来描述,有很多人疑问为啥不用QChart,或者e ...
- 假如React没了JSX
如题,想必React大家早已不陌生,而React里面的JSX都是玩的得心应手了,但是假如说React里面没有了React那会是一种什么样的情形呢,我们来简单的看一下. 首先我们来实现一个简单的list ...
- Linux 系统中用Systemd 管理系统服务
Systemd 命令详解: https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-syste ...
- 【amad】cookiecutter -- 一个命令行工具,使用项目模版来构建项目
动机 简介 个人评分 动机 一般的框架都有脚手架工具,但是并不会让所有人满意. 简介 cookiecutter1是一个Python实现的命令行工具,可以通过项目模版来构建项目. 它的特性包括: 跨平台 ...
- Reactor系列(二)Flux Mono创建
Flux Mono创建 视频讲解:https://www.bilibili.com/video/av78844777/ FluxMonoTestCase.java package com.exampl ...
- Docker pull php:7.1-fpm的php.ini配置修改
今天,换了 Deepin 操作系统,开发环境是通过 Docker 搭建的,具体结构如下: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e ...