Reids学习2 -- 使用Jedis操作Redis
1. 如何获取Jedis
获取Jar包可以通过Maven库获取:http://mvnrepository.com/artifact/redis.clients/jedis
或者可以通过Maven配置:
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2. 设置Redis连接认证
2.1 修改配置文件redis.conf,放开requirepass的注释
################################## SECURITY ################################### # Require clients to issue AUTH <PASSWORD> before processing any other
# commands. This might be useful in environments in which you do not trust
# others with access to the host running redis-server.
#
# This should stay commented out for backward compatibility and because most
# people do not need auth (e.g. they run their own servers).
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
requirepass foobared
修改好后,重起redis:
bash-4.2$ ./redis-server ../redis.conf
2.2 或者直接在redis-cli中修改,无需重起,立即生效
127.0.0.1:6379> config set requirepass 123456
3. Jedis操作代码
package com.rc.jedis.common.util;
import redis.clients.jedis.Jedis;
public class JedisUtil {
private static Jedis jedis;
static {
jedis = new Jedis("localhost", 6379);
jedis.auth("123456");
}
public static Jedis getJedisConn() {
return jedis;
}
public static void main(String[] args) {
System.out.println("==================Test String===============================");
testString();
System.out.println("==================Test List===============================");
testList();
System.out.println("==================Test Set===============================");
testSet();
System.out.println("==================Test Hash===============================");
testHash();
System.out.println("==================Test Zset===============================");
testZset();
}
private static void testString() {
//添加数据
jedis.set("skey2", "testskey2");
System.out.println(jedis.get("skey2"));
//在字符串后面添加字符
jedis.append("skey2", " is a test case");
System.out.println(jedis.get("skey2"));
//删除
jedis.del("skey2");
System.out.println(jedis.get("skey2"));
//批量添加
jedis.msetnx("skey1","skey1 value", "skey2", "skey2 value", "skey3", "skey3 value", "skey4", "2");
jedis.incr("skey4");
System.out.println(jedis.get("skey1") + " - " + jedis.get("skey2") + " - " + jedis.get("skey3") + " - " + jedis.get("skey4"));
}
private static void testList() {
//添加List数据
jedis.lpush("lkey1", "1", "2", "3");
//获取指定位置的数据
System.out.println("list:" + jedis.lindex("lkey1", 1));
//弹出List中所有值
String popString = jedis.lpop("lkey1");
while(popString != null)
{
System.out.println("List:" + popString);
popString = jedis.lpop("lkey1");
}
//同lpush
jedis.rpush("lkey1", "1", "2", "3");
System.out.println("list:" + jedis.lindex("lkey1", 1));
//删除List
jedis.del("lkey1");
System.out.println("list:" + jedis.lindex("lkey1", 1));
}
private static void testSet() {
//添加Set数据,同Java的Set,重复数据只存一条
jedis.sadd("sekey1", "1", "2", "3", "1", "4", "5", "4");
System.out.println(jedis.smembers("sekey1"));
//检查元素是否存在
System.out.println(jedis.sismember("sekey1", "3"));
System.out.println(jedis.sismember("sekey1", "9"));
//移除元素
jedis.srem("sekey1", "2");
System.out.println(jedis.sismember("sekey1", "2"));
}
private static void testHash() {
//添加数据
jedis.hset("hkey1", "fkey1", "1");
jedis.hset("hkey1", "fkey2", "2");
jedis.hset("hkey1", "fkey3", "3");
System.out.println(jedis.hget("hkey1", "fkey2"));
System.out.println(jedis.hgetAll("hkey1"));
//删除
jedis.hdel("hkey1", "fkey2");
System.out.println(jedis.hget("hkey1", "fkey2"));
System.out.println(jedis.hgetAll("hkey1"));
}
private static void testZset() {
//添加数据
jedis.zadd("zkey1", 1, "zfkey1");
jedis.zadd("zkey1", 3, "zfkey3");
jedis.zadd("zkey1", 2, "zfkey2");
jedis.zadd("zkey1", 5, "zfkey5");
jedis.zadd("zkey1", 4, "zfkey4");
System.out.println(jedis.zrange("zkey1", 0, -1));
System.out.println(jedis.zrangeByScore("zkey1", 0, 2));
jedis.zrem("zkey1", "zfkey3");
System.out.println(jedis.zrange("zkey1", 0, -1));
}
}
Reids学习2 -- 使用Jedis操作Redis的更多相关文章
- jedis操作redis的几种常见方式总结
Redis是一个著名的key-value存储系统,也是nosql中的最常见的一种,这篇文章主要给大家总结了关于在java中jedis操作redis的几种常见方式,文中给出了详细的示例代码供大家参考学习 ...
- Redis入门和Java利用jedis操作redis
Redis入门和Java利用jedis操作redis Redis介绍 Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis 与其他 key - val ...
- Jedis操作Redis数据库
添加Maven依赖: <dependencies> <!-- 单元测试 --> <dependency> <groupId>junit</grou ...
- Jedis操作Redis
Jedis操作Redis的常用封装方法 @Resource(name="jedispool") private JedisPool pool=null; /** * 设置缓存对象过 ...
- 四、Jedis操作Redis
前言: 原来我们操作mysql需要用的jdbc,现在操作redis则需要jedis,jedis是客户端,而redis是服务器,使用jedis客户端来操作redis. 在这里要使用jedis操作red ...
- JAVA中通过Jedis操作Redis连接与插入简单库
一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...
- Jedis操作Redis技巧详解
对于Redis的部署模式有两种,单机模式 和 集群模式.因此,本文的介绍也从这两个方面进行介绍.众所周知,Jedis是最著名的Redis java客户端操作类库,几乎支持所有的Redis操作.本文就是 ...
- Java中Jedis操作Redis与Spring的整合
Redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合).这些数据类型都支持push/pop. ...
- Jedis学习使用(java操作redis)
Jedis 是 Redis 官方首选的 Java client开发包. 工作过程总结的一个演示样例.贴出来,例如以下: package com.wujintao.redis; import java. ...
随机推荐
- 20175126《Java程序设计》第四周学习总结
# 20175126 2016-2017-2 <Java程序设计>第四周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲打教材代码和观看APP上的视频资源自学. - 学习内容 ...
- 【Spring学习】Spring的源码解析之路 ——【step1】基础环境配置 + IDEA快捷键整理
前导: 本次主要是关于“基础环境搭建”的内容,分为三个部分,(1)查看源码和项目需要的开发集成环境Intellig IDEA的使用,(2)如何导入源码,(3)在这个过程中梳理出的快捷键 正文:==== ...
- Hillstone基础上网配置
1.接口配置 1)进入设备管理界面后,点击左边 网络—接口: 2)选择相应的接口,点击编辑: 3)在接口配置界面中,选择接口的安全域类型(三层接口即为三层安全域,二层接口即为二层安全域).安全域名称 ...
- FragmentManager中Fragment的重复创建、复用问题
当我们在Activity中使用 Fragment可以用FragmentManager去添加到对应个ViewGoup中使用 FragmentManager fragmentManager = getSu ...
- swift 导入 .a 和 .h 文件
一.新建桥接文件,这个很简单,就不介绍了.给个链接方法吧. 二.添加导入 .a 文件,在最后一步选择要导入的 .a 文件. 三.桥接文件里引用头文件,一般 .a 和 .h 文件都是在一个文件夹一起拖入 ...
- 监控服务器配置(一)-----Prometheus安装配置
最近和朋友一起做的监控配置,拿出来共享一下 1.下载prometheus安装包(linux版)到 /opt/minitor/prometheus . 下载地址:https://download.csd ...
- 分布式ID方案有哪些以及各自的优劣势,我们当如何选择
作者介绍 段同海,就职于达达基础架构团队,主要参与达达分布式ID生成系统,日志采集系统等中间件研发工作. 背景 在分布式系统中,经常需要对大量的数据.消息.http请求等进行唯一标识,例如:在分布式系 ...
- Linux 学习笔记 2:文件系统
1.文件系统层次结构 系统目录内容: /: 根目录(之后的/都是目录分隔符) /home:用户目录 /bin: Unix常用命令,如bash, date, cat, tar等 /sbin: 管理员命令 ...
- js 14位字符串 转日期
const pattern = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/; const newDate = new Date(timeEnd.repla ...
- js如何实现重载
所谓重载,就是一组相同的函数名,有不同个数的参数,在使用时调用一个函数名,传入不同参数,根据你的参数个数,来决定使用不同的函数!但是我们知道js中是没有重载的,因为后定义的函数会覆盖前面的同名函数,但 ...