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. ...
随机推荐
- windows server 2012R2 故障转移集群配置
配置说明: AD:10.10.1.10/24 Node-2:10.10.1.20/24 Node-3:10.10.1.30/24 zhangsan-PC:10.10.1.50/24 VIP1:10 ...
- TZOJ 2289 Help Bob(状压DP)
描述 Bob loves Pizza but is always out of money. One day he reads in the newspapers that his favorite ...
- lets encrypt与openssl结合实现双认证
lets encrypt,是一个免费的证书认证机构,不需要导入根证书.但是这个认证机构只能认证服务端的,如果想要实现双认证,lets encrypt就不行了. openssl可以自签发,可以进行双认证 ...
- Saving custom fields in production order
In additional data screen 1.PPCO0012->EXIT_SAPLCOKO1_001->ZXCO1U11 ci_aufk-zxxx = i_caufvd ...
- 解决了好几天的关于django xadmin后台增加链接并执行函数的问题
由于xadmin后台封装的完整性,想要在后台做一些改动对于新手来说还是有点困难,目前解决的第一个问题: 在admin后台增加链接,使其改变上级签收状态 如图 点击签收按钮之后,改变其状态 代码展示: ...
- IDEA配置
关于IDEA的配置 配置注释模板 CTRL_SHIFT_S,在Live Templates中新增一个TemplateGroup,然后再新建两个模板,如下图: 新增cc-ClassComment /** ...
- OO第二单元学习总结
前言: 第二单元总共包括三次电梯调度作业.这三次作业在笔者看来是为了让学生了解什么是多线程,多线程的好处及可能存在的潜在问题,对于多线程的安全问题应该如何解决和保证结果的唯一性和正确性.那么接下来笔者 ...
- Gulp入门及简单使用
前言 什么是gulp?gulp有什么用?为什么用gulp? gulp是前端开发的一种构建工具. 构建工具可以帮助我们工程化地开发项目,比如搭建本地服务器.编译CSS预处理器.保存文件后自动刷新浏览器而 ...
- centos7下编译安装nginx-1.16.0
一.下载nginx源码 http://nginx.org/en/download.html 如:nginx-1.16.0.tar.gz 二.创建用户和组,并解压 groupadd www userad ...
- JS整理--闭包
1.闭包可以访问当前函数以外的变量 function a(){ var date="1"; function b(str){ console.log(str+date) } ret ...