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基础-线程操作共享数据的安全问题 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.引发线程安全问题 如果有多个线程在同时运行,而这些线程可能会同时运行这段代码.程序每次运 ...
随机推荐
- 一个docker容器中运行多个服务还是弄一堆docker容器运行?
不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经 ...
- jQuery中FormData的使用
web中数据提交事件是常常发生的,但是大多数情况下我们不希望使用html中的form表单提交,因为form表单提交会中断当前浏览器的操作并且会调到另一个地址(即使这个地址是当前页面),并且会重复加载一 ...
- 设计模式《JAVA与模式》之状态模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为 ...
- C#深拷贝 反射实现
/// <summary> /// 对象拷贝 /// </summary> /// <param name="obj">被复制对象</pa ...
- C标准库pow函数精度问题。
#include <stdio.h> int main () { int temp,i; double a=2.4568; unsigned ]; ;i<;i++) { temp=( ...
- Python3之PrettyTable模块
一. 简介 Python通过prettytable模块将输出内容如表格方式整齐输出,python本身并不内置,需要独立安装该第三方库. 二. 安装 方式一:pip安装 >>> pip ...
- Vue项目打包常见问题整理
Vue 项目在开发时运行正常,打包发布后却出现各种报错,这里整理一下遇到的问题,以备忘. 1.js 路径问题 脚手架默认打包的路径为绝对路径,改为相对路径.修改 config/index.js 中 b ...
- NPOI读取excel文件导出数据, 而此时文件正在打开中抛异常怎么办
项目中需要用到一些数值表格, 方便起见都是用excel来的. 而如果excel正打开中, 直接使用npoi制作的工具来导出数据的话, 在这一行将会异常: workbook = new XSSFWork ...
- 收藏一篇关于Asp.net Response.Filter的文章
Capturing and Transforming ASP.NET Output with Response.Filter https://weblog.west-wind.com/posts/20 ...
- 我的Git教程 之 解决 git clone后无代码
解决 git clone 后无代码 前言:这个教程只适用于像我一样大致理解Git的原理,但是不太记得住Git命令的同学使用.所以具体原理只会提一下,具体可以参见Pro Git. 在另一篇 简明的教程 ...