安装 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. jQuery获取Table某列的值

    在写此篇博文时,发现在以前曾写过<获取DataTable选择第一行某一列值>http://www.cnblogs.com/insus/p/5434062.html . 但是与此篇所说的完全 ...

  2. C#实时检测端口占用情况

    在TCP/IP协议中,服务端需要去监听客户端的端口,开始监听,我们需要检测使用的端口是否被占用,获取系统当前使用的所有端口号,用此端口进行匹配即可. 代码如下 internal static Bool ...

  3. Pyhon 中文编码问题(字符串前加‘U’)

    中文编码问题是用中文的程序员经常头大的问题,在python下也是如此,那么应该怎么理解和解决python的编码问题呢? 我们要知道python内部使用的是unicode编码,而外部却要面对千奇百怪的各 ...

  4. solr 5.5使用 和pyg里 的4.10.3版 部署到tomcat中不一样(不使用内置jetty)

    http://www.cnblogs.com/zhuxiaojie/p/5764680.html

  5. 域名直接访问应用程序-不加端口号&不加路径名

    当访问域名的时候,端口默认指定的是80: 而80端口在Linux系统下,1024之前的端口是只有root用户才能使用的, 因此将,系统层面将端口80 映射到8080, iptables -t nat ...

  6. Mysql的优化一则

    目的在于这么一个sql语句: SELECT w.* FROM wallpaper w inner join wallpaper_category_relation r ON w.wallpaper_i ...

  7. ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Cannot run program "hive": error=2, No such file or directory

    原因是hive没有设置环境变量 1,vim /etc/profile  (切换root用户) 2.source /etc/profile

  8. C# 泛型类在使用中约束

    首先看一下泛型的基本语法 访问修饰符 返回类型 泛型方法名 <T>(T 参数)   1):无法在泛型方法内部给任何 T 类型创建实例的对象,因为在泛型方法内部不知道传进来的对象有哪些构造函 ...

  9. nginx反向代理如何获取真实IP?

    由于客户端和web服务器之间增加了中间层,因此web服务器无法直接拿到客户端的ip,通过$remote_addr变量拿到的将是反向代理服务器的ip地址. 1.安装--with-http_realip_ ...

  10. 译自如何将Spring Cloud应用程序从Spring Boot 1.2迁移到1.3

    前言 笔者第三个Spring Cloud(版本为Spring Boot 1.2)类项目升级最新版本时遇到不少问题,本文内容是作者翻译Spring Cloud官网一位国外友人文章产生. 原文地址: Mi ...