redis-java基础操作
安装 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基础操作的更多相关文章
- Redis Java连接操作
安装 要在Java程序中使用使用操作Redis,需要确保有Redis的Java驱动程序和Java设置在机器上.可以检查看Java教程-学习如何在机器上安装Java.现在,让我们来看看如何设置Redis ...
- redis java对象操作
使用Jedis客户端 1. java 对象,需序列化 public class Person implements Serializable { private int id; private Str ...
- Java基础操作面试题:Map集合排序 需要TreeMap 构造方法参数有比较器 输入字符串,统计A、B、C、D、出现次数,由高到低输出字母和出现次数,使用Map集合完成此题
Map和Collections是同级别的,不能像List排序那样直接用Collections.sort(new Comparator<?>(){ 复写compara方法}); HashMa ...
- redis java操作
Redis Java连接操作 连接到Redis服务器 import redis.clients.jedis.Jedis; public class RedisJava { public static ...
- Redis【4】Java Jedis 操作 Redis~
package redis.redis; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * 描 ...
- Java基础复习笔记系列 七 IO操作
Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...
- Java基础系列-二进制操作
原创文章,转载请标注出处:<Java基础系列-二进制操作> 概述 Java源码中涉及到大量的二进制操作,非常的复杂,但非常的快速. Java二进制表示法 首先了解下二进制,二进制是相对十进 ...
- redis(Springboot中封装整合redis,java程序如何操作redis的5种基本数据类型)
平常测试redis操作命令,可能用的是cmd窗口 操作redis,记录一下 java程序操作reids, 操作redis的方法 可以用Jedis ,在springboot 提供了两种 方法操作 Red ...
- Redis介绍及Jedis基础操作
1.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes ...
- Java基础-线程操作共享数据的安全问题
Java基础-线程操作共享数据的安全问题 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.引发线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运 ...
随机推荐
- ConcurrentHashMap源码解析(3)
此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 4.get(Object key) 使用方法: map.get("hello"); 源代 ...
- Python3.5 学习十九 Django分模块讲解 MTV+URL
本节内容概述: 表单提交的Method使用规则:get 获取数据 post提交数据 单选使用get 多选使用getlist request.POST.getlist("favor" ...
- urllib2 的get请求与post请求
urllib2默认只支持HTTP/HTTPS的GET和POST方法 urllib.urlencode() urllib和urllib2都是接受URL请求的相关参数,但是提供了不同的功能.两个最显著的不 ...
- python实现音乐播放器
python实现音乐播放器 模块:pygame 模块:time Python 布尔循环实例: import time import pygame muxi_k = """ ...
- IO、NIO、AIO
一. IO 传统的IO是同步阻塞模式,数据的读取与写入会阻塞在一个线程内等待其完成. 主要面向字节流编程.(流是单向的) 二. NIO NIO支持同步非阻塞模式,在进行IO调用后,然后去 轮询调用结果 ...
- Apache Roller 5.0.3 XXE漏洞分析
下载5.0.2的版本来分析 5.0.2的war包地址 http://archive.apache.org/dist/roller/roller-5/v5.0.2/bin/roller-weblogge ...
- Windows上安装tensorflow 详细教程
原博客转载自:https://www.cnblogs.com/lvsling/p/8672404.html 一, 前言:本次安装tensorflow是基于Python的,安装Python的过程不做说明 ...
- vue教程3-02 vue动画
vue教程3-02 vue动画 以下代码,已经用包管理器下载好vue,animate <!DOCTYPE html> <html lang="en"> &l ...
- web工程迁移---jboss5迁移到jboss6
这几天在做web工程的迁移,从jboss 5迁移到jboss 6.3. 在做迁移的过程中遇到了一些问题,在这里记录一下. 首先来看一下jboss5和jboss6.3的区别: 上面两幅 ...
- ES6常用语法总结
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015.也就是说,ES6就是ES2015.虽 ...