安装 windows版的Redis,打开即可,默认端口6379

导入两个jar包  commons-pool2-2.3.jar   jedis-2.7.0.jar

一 写配置文件

redis.setMaxIdle=20
redis.setMinIdle=10
redis.setMaxTotal=50
redis.url=localhost
redis.port=6379

二 建立java redis 即 jedis连接池

 package redistest;

 import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; public class RedisConfigUtil {
private static JedisPool pool;
static{
InputStream in = RedisConfigUtil.class.getClassLoader().getResourceAsStream("redis.properties");
Properties pro=new Properties();
try {
pro.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
JedisPoolConfig poolConfig=new JedisPoolConfig();
poolConfig.setMaxIdle(Integer.valueOf(pro.getProperty("redis.setMaxIdle")));
poolConfig.setMaxTotal(Integer.valueOf(pro.getProperty("redis.setMaxTotal")));
poolConfig.setMinIdle(Integer.valueOf(pro.getProperty("redis.setMinIdle")));
pool=new JedisPool(poolConfig,pro.getProperty("redis.url"), Integer.valueOf(pro.getProperty("redis.port")));
}
public static Jedis getJedis(){
return pool.getResource();
}
public static void closeJedis(Jedis je){
je.close();
pool.close();
}
}

读取配置文件的redis数据库信息

三 redis的基本操作

setget 用于字符串,可以用json的思路去存数据

map  set list 方法和字符串的不同

 package redistest;

 import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import org.junit.Test; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; public class RedisTest {
/**
*
*/
@Test
public void main2() {
/*JedisPoolConfig poolConfig=new JedisPoolConfig();
poolConfig.setMaxIdle(20);
poolConfig.setMinIdle(10);
poolConfig.setMaxTotal(50);;
JedisPool pool=new JedisPool(poolConfig, "localhost", 6379);
//Jedis jedis=new Jedis("localhost", 6379);
Jedis jedis = pool.getResource();*/
Jedis jedis = RedisConfigUtil.getJedis();
//添加数据
jedis.set("xx", "wuchao22");
//拼接字符串
jedis.append("xx", "333");
//删除数据
jedis.del("xx");
//设置多个键值对
jedis.mset("name","wuchao","age","22");
jedis.incr("age");//+1
//System.out.println(jedis.get("age")); /*
* Map操作
*/
Map<String,String> map=new HashMap<>();
map.put("name", "wu");
map.put("age", "22");
map.put("qq", "123");
//map 集合遍历
for (Map.Entry<String,String> enrty:map.entrySet()) {
//System.out.println(enrty.getValue());
}
//jedis.hmset("user", map);
jedis.hdel("user", "qq");//删除一个键值
List<String> hmget = jedis.hmget("user","name", "age","qq");
//System.out.println(hmget);
//System.out.println(jedis.hkeys("user"));//获得所有键名
//System.out.println(jedis.hvals("user"));//获得所以键值
/*Iterator<String> iter=jedis.hkeys("user").iterator();
while(iter.hasNext()){
String key=iter.next();
System.out.println(jedis.hmget("user", key));
}*/ /*
* list集合
*/
jedis.del("list");
jedis.rpush("list", "spring");
jedis.rpush("list", "struts");
jedis.rpush("list", "hibernate");
System.out.println(jedis.lrange("list",0, -1));
System.out.println(jedis.llen("list"));//获取长度 /*
* set集合
*/
jedis.del("user1");
jedis.sadd("user1", "a");
jedis.sadd("user1", "b");
jedis.sadd("user1", "c");
jedis.sadd("user1", "d");
jedis.srem("user1","d");//删除
System.out.println(jedis.smembers("user1"));
System.out.println(jedis.scard("user1"));//返回集合个数 /*
* 集合排序
*/
jedis.rpush("sort","1");
jedis.lpush("sort","6");
jedis.rpush("sort","3");
jedis.lpush("sort","7");
jedis.rpush("sort","2");
//System.out.println(jedis.lrange("sort", 0, -1));
System.out.println(jedis.sort("sort"));//排序
System.out.println(jedis.lrange("sort", 0, -1));
}
}

以上列举了些基本的操作

redis-java基础操作的更多相关文章

  1. Redis Java连接操作

    安装 要在Java程序中使用使用操作Redis,需要确保有Redis的Java驱动程序和Java设置在机器上.可以检查看Java教程-学习如何在机器上安装Java.现在,让我们来看看如何设置Redis ...

  2. redis java对象操作

    使用Jedis客户端 1. java 对象,需序列化 public class Person implements Serializable { private int id; private Str ...

  3. Java基础操作面试题:Map集合排序 需要TreeMap 构造方法参数有比较器 输入字符串,统计A、B、C、D、出现次数,由高到低输出字母和出现次数,使用Map集合完成此题

    Map和Collections是同级别的,不能像List排序那样直接用Collections.sort(new Comparator<?>(){ 复写compara方法}); HashMa ...

  4. redis java操作

    Redis Java连接操作 连接到Redis服务器 import redis.clients.jedis.Jedis; public class RedisJava { public static ...

  5. Redis【4】Java Jedis 操作 Redis~

    package redis.redis; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * 描 ...

  6. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  7. Java基础系列-二进制操作

    原创文章,转载请标注出处:<Java基础系列-二进制操作> 概述 Java源码中涉及到大量的二进制操作,非常的复杂,但非常的快速. Java二进制表示法 首先了解下二进制,二进制是相对十进 ...

  8. redis(Springboot中封装整合redis,java程序如何操作redis的5种基本数据类型)

    平常测试redis操作命令,可能用的是cmd窗口 操作redis,记录一下 java程序操作reids, 操作redis的方法 可以用Jedis ,在springboot 提供了两种 方法操作 Red ...

  9. Redis介绍及Jedis基础操作

    1.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes ...

  10. Java基础-线程操作共享数据的安全问题

    Java基础-线程操作共享数据的安全问题 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.引发线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运 ...

随机推荐

  1. 在windows10上创建ASP.NET mvc5+Memcached服务

    感谢两位两位大佬: https://blog.csdn.net/l1028386804/article/details/61417166 https://www.cnblogs.com/running ...

  2. Spring 扫描标签<context:component-scan/>

    一. <context:annotation-config/> 此标签支持一些注入属性的注解, 列如:@Autowired, @Resource注解 二. <context:comp ...

  3. Java并发编程总结2——慎用CAS

    一.CAS和synchronized适用场景 1.对于资源竞争较少的情况,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源:而CAS基于硬件实 ...

  4. 安装openvpn

    1.安装服务器端openvpn  yum install -y openvpn easy-rsa 如果已存在的yum源中找不安装文件,则可通过以下安装epel yum源 rpm -ivh http:/ ...

  5. Linux的基本操作

    1.linux系统的基本命令 ls  查看当前所在文夹下的内容pwd  查看当前所在的位置cd  打开文件目录touch  创建文件, 如果文件不存在, 就创建新的文件mkdir 创建文件夹rm  删 ...

  6. iOS开发之Todo List for Swift项目

    一直从事Windows Phone开发,但对iOS开发一直有所好奇,于是在MBP到手之际,顺手安装了Xcode.移动互联网开发的相似性,使得我能快速地了解和认识了iOS的开发框架体系,在看完了Appl ...

  7. C++:运算符重载

    运算符重载是一种形式的C++多态.运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义.实际上,很多C++运算符已经被重载.eg:将*运算符用于地址,将得到存储在这个地址中的值,将他用于 ...

  8. JavaSE-java8-谓词复合的用法

    谓词接口包括三个方法: negate. and 和 or,让你可以重用已有的Predicate来创建更复杂的谓词 一.比如可以用negate方法来返回一个Predicate非 public class ...

  9. Nginx 配置 Location 规则优先级问题

    nginx 的 location与配置中 location 顺序没有关系,与 location 表达式的类型有关.相同类型的表达式,字符串长的会优先匹配. 以下是按优先级排列说明: 等号类型(=)的优 ...

  10. Android开发中实现https校验

    在安卓开发中需要自己写代码实现校验公钥的功能 当然,  如果是自己服务器,就不用校验, 如果是别人的服务器,比如银行,就需要校验 在这里, 小编采用从github上下载的开源框架实现,在开源框架中添加 ...