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. ...
随机推荐
- 算法练习LeetCode初级算法之其他
位1的个数 解法一: class Solution { // you need to treat n as an unsigned value public int hammingWeight(int ...
- python词频统计及其效能分析
1) 博客开头给出自己的基本信息,格式建议如下: 学号2017****7128 姓名:肖文秀 词频统计及其效能分析仓库:https://gitee.com/aichenxi/word_frequenc ...
- dskinlite自适应dpi
调试了好久,mfc CDialog终于搞定,付费支持,qq: 80101277 效果图:
- shell 到达一定数量文件自动删除最久时间文件
#!/bin/bash#rm_file>14day ReservedNum=4 #保留文件数量rm_file_dir='/home/sean/sean/ ...
- loadrunner11 下载路径+安装+破解+汉化
下载地址:http://pan.baidu.com/s/1eQs1Ynw 1.解压安装包 2.运行“setup.exe”,点击“LoadRunner完整安装程序”开始安装,另外此安装包有许多附带组件, ...
- shapefile添加字段 设置文件名为字段内容
转眼间,这一年又结束了,再记录一点知识吧 同事说他有好多shapefile,想给每个shapefile添加一字段,并设置该字段的内容为shapefile文件名,想着用arcpy实现,于是有了下面的代码 ...
- STS中poem.xml配置文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- java中的 java.util.concurrent.locks.ReentrantLock类的使用方式
实现了lock的类为:ReentrantLock 接口的方式解释: lock()方法为获取锁对象,如果未获取到锁就一直获取锁. trylock():为布尔值,返回是否获取到了锁,如果没有获取到锁则返回 ...
- s3c2440 nandflash 初始化
1.什么是 nandflash ? FLASH闪存 闪存的英文名称是"Flash Memory",一般简称为"Flash",它属于内存器件的一种,是一种非易失性 ...
- ----Arrow functions----
Arrow functions Arrow functions表达式相比函数表达式有更短的语法,没有自己的this.argument.super或者new.target. 1.语法规则: 基础语法: ...