spring整合jedis怎么指定密码
1、spring配置,下面是一个完整redis配置,密码只需要设置password属性。
–> –>2、java操作redis,只需要加上jedis.auth(passwd)即可public static Jedis getRedisConnection(String configFlag){String host;int port;Jedis jedis = null;InputStream is = RedisUtil.class.getClassLoader().getResourceAsStream("config/redis.properties");Properties pro = new Properties();try {pro.load(is);host = pro.getProperty("redis.host" + configFlag);port = Integer.parseInt(pro.getProperty("redis.port" + configFlag));jedis = new Jedis(host, port);String passwd = pro.getProperty("redis.pass");jedis.auth(passwd);} catch (IOException e) {e.printStackTrace();}finally{try {if(is != null)is.close();} catch (IOException e) {e.printStackTrace();}}return jedis;}。
java 监听redis map是否有修改
/*** @param args*/public static void main(String[] args) {//连接 redis 服务Jedis jedis = new Jedis( "192.168.88.15" ,6379);//密码验证-如果你没有设置 redis 密码可不验证即可使用相关命令// jedis.auth(" abcdefg ");//简单的key-value 存储jedis.set( "redis" , "myredis" );System. out .println(jedis.get( "redis" ));//在原有值得基础上添加,如若之前没有该key,则导入该key//之前已经设定了 redis 对应" myredis ",此句执行便会使 redis 对应"myredisyourredis "jedis.append( "redis" , "yourredis" ); jedis.append( "content" , "rabbit" );// mset 是设置多个key-value值 参数(key1,value1,key2,value2,。
, keyn , valuen)// mget 是获取多个key所对应的value值 参数(key1,key2,key3,。, keyn ) 返回的是个listjedis.mset( "name1" , "yangw" , "name2" , "demon" , "name3" , "elena" );System. out .println(jedis.mget( "name1" , "name2" , "name3" ));//mapMap user = new HashMap();user.put( "name" , "cd" );user.put( "password" , "123456" );//map存入 redisjedis.hmset( "user" , user);// mapkey 个数System. out .println(String. format ( "len:%d" , jedis.hlen( "user" )));//map中的所有键值System. out .println(String. format ( "keys: %s" , jedis.hkeys( "user" ) ));//map中的所有valueSystem. out .println(String. format ( "values: %s" , jedis.hvals( "user" ) ));//取出map中的name字段值List rsmap = jedis.hmget( "user" , "name" , "password" );System. out .println(rsmap);//删除map中的某一个键值 passwordjedis.hdel( "user" , "password" );System. out .println(jedis.hmget( "user" , "name" , "password" ));//listjedis.del( "listDemo" );System. out .println(jedis.lrange( "listDemo" , 0, -1));jedis.lpush( "listDemo" , "A" );jedis.lpush( "listDemo" , "B" );jedis.lpush( "listDemo" , "C" );System. out .println(jedis.lrange( "listDemo" , 0, -1));System. out .println(jedis.lrange( "listDemo" , 0, 1));//setjedis.sadd( "sname" , "wobby" );jedis.sadd( "sname" , "kings" );jedis.sadd( "sname" , "demon" );System. out .println(String. format ( "set num: %d" , jedis.scard( "sname" )));System. out .println(String. format ( "all members: %s" , jedis.smembers( "sname")));System. out .println(String. format ( "is member: %B" , jedis.sismember( "sname" , "wobby" )));System. out .println(String. format ( "rand member: %s" , jedis.srandmember("sname" )));//删除一个对象jedis.srem( "sname" , "demon" );System. out .println(String. format ( "all members: %s" , jedis.smembers( "sname"))); }二、将自定义对象保存到redis中:1、自定义pojo 实现Serializable 接口:package cn.mingyuan.redis;import java.io.Serializable;/*** 测试用 pojo ,实现了 Serializable ,以便进行系列化操作* * @author mingyuan* */public class Person implements Serializable {private static final long serialVersionUID = -3562550857760039655L;private String name ;private int age ;public Person(){}public Person(String name, int age) {super ();this . name = name;this . age = age;}public String getName() {return name ;}public void setName(String name) {this . name = name;}public int getAge() {return age ;}public void setAge( int age) {this . age = age;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]" ;}}2、测试类:package cn.mingyuan.redis;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import redis.clients.jedis.Jedis;public class Test {/*** @param args* @throws IOException* @throws ClassNotFoundException*/public static void main(String[] args) throws IOException,ClassNotFoundException {// Jedis redis = new Jedis ("192.168.88.15");Jedis redis = new Jedis( "192.168.88.15" , 6379);// connect可以不要,因为在执行set操作的时候会先进行判断客户端是否于服务器端建立了连接,若无,则启动连接过程redis.connect();String set = redis.set( "mingyuan" , "1" );System. out .println( " set result \t" + set);redis.incr( "mingyuan" );String string = redis.get( "mingyuan" );System. out .println( " get result of key 'mingyuan' \t" + string);// 下面是对对象进行存储的测试代码ByteArrayOutputStream bos = new ByteArrayOutputStream();ObjectOutputStream oos = new ObjectOutputStream(bos);Person person = new Person( "liudehua" ,22);oos.writeObject(person);byte [] byteArray = bos.toByteArray();oos.close();bos.close();String setObjectRet = redis.set( "mingyuan" .getBytes(), byteArray);System. out .println( " set object return \t" + setObjectRet);byte [] bs = redis.get( "mingyuan" .getBytes());。
怎么用java代码查出mysql密码
package com.leo;
import java.io.*;
import java.sql.*;
public class Pass{
public static void main(String[] args){
BufferedReader br = null;
try{
br = new BufferedReader(new InputStreamReader(new FileInputStream("D:\\pass.txt")));
Class.forName("com.mysql.jdbc.Driver");
Connection con = null;
String url = "jdbc:mysql://127.0.0.1:3306/mydb";
String username = "root";
String password = "";
while((password = br.readLine())!=null){
try{
con = DriverManager.getConnection(url,username,password);
if(con != null){
System.out.println("OK:"+password);
break;
}
}catch(Exception e1){
}
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
br.close();
}catch(Exception e2){}
}
}
}
大概就是这样了!测试过的,可以!
jedis 怎么获取存储的对象
安装好redis,进行了基本的操作。
包括对map list 和自定义对象的基本操作。笔记都在代码注释里,直接上代码。
private Jedis jedis; @Before public void before() { jedis = new Jedis("127.0.0.1"); } /** * 简单添加 */ @Test public void test1() { String name = "name"; String value = "qq"; jedis.set(name, value); System.out.println("追加前:" + jedis.get(name)); // 追加前:qq // 在原有值得基础上添加,如若之前没有该key,则导入该key jedis.append(name, "ww"); System.out.println("追加后:" + jedis.get(name)); // 追加后:qqww jedis.append("id", "ee"); System.out.println("没此key:" + jedis.get(name)); System.out.println("get此key:" + jedis.get("id")); } /** * mset 是设置多个key-value值 参数(key1,value1,key2,value2,。,keyn,valuen) mget * 是获取多个key所对应的value值 参数(key1,key2,key3,。
,keyn) 返回的是个list */ @Test public void test2() { jedis.mset("name1", "aa", "name2", "bb", "name3", "cc"); System.out.println(jedis.mget("name1", "name2", "name3")); } /** * map */ @Test public void test3() { Map 这样就可以进行传输,或者保存到文件中。如果一个类的对象要想实现序列化,就必须实现serializable接口。 在此接口中没有任何的方法,此接口只是作为一个标识,表示本类的对象具备了序列化的能力而已。 * 反序列化:将二进制数据流转换成相应的对象。 * 如果想要完成对象的序列化,则还要依靠ObjectOutputStream和ObjectInputStream,前者属于序列化操作,而后者属于反序列化操作。 * */ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class SerializationUtil { /** * 序列化 * * @param object * @return */ public static byte[] serialize(Object object) { ObjectOutputStream oos = null; ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(baos); oos.writeObject(object); byte[] bytes = baos.toByteArray(); return bytes; } catch (Exception e) { } return null; } /** * 反序列化 * * @param bytes * @return */ public static Object deserialize(byte[] bytes) { ByteArrayInputStream bais = null; try { bais = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bais); return ois.readObject(); } catch (Exception e) { } return null; } } 还有都熟悉的User类。 我只简单实用id和name,测试,也贴一下吧 public class User implements Serializable { /** * */ private static final long serialVersionUID = -1530813282496676263L; private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }。 一、操作string 、list 、map 对象1、引入jar:jedis-2.1.0.jar2、代码/*** @param args*/public static void main(String[] args) {//连接redis服务Jedis jedis = new Jedis("192.168.88.15",6379);//密码验证-如果你没有设置redis密码可不验证即可使用相关命令// jedis.auth("abcdefg");//简单的key-value 存储jedis.set("redis", "myredis");System.out.println(jedis.get("redis"));//在原有值得基础上添加,如若之前没有该key,则导入该key//之前已经设定了redis对应"myredis",此句执行便会使redis对应"myredisyourredis"jedis.append("redis", "yourredis"); jedis.append("content", "rabbit");//mset 是设置多个key-value值 参数(key1,value1,key2,value2,。 ,keyn,valuen)//mget 是获取多个key所对应的value值 参数(key1,key2,key3,。,keyn) 返回的是个listjedis.mset("name1","yangw","name2","demon","name3","elena");System.out.println(jedis.mget("name1","name2","name3"));//mapMap
public static ResultSet oracleConn(String sql) { String driver = "oracle.jdbc.driver.OracleDriver"; //写明你数据的连接串 String url = "jdbc:Oracle:thin:@192.168.1.1:3004/xe"; Statement stmt = null; ResultSet res = null; Connection conn = null; CallableStatement proc = null; Listlist = new ArrayList(); try { Class.forName(driver); //连接数据库 conn = DriverManager.getConnection(url, "username", "password"); stmt = conn.createStatement(); //执行sql语句,并返回结果 res = stmt.executeQuery(sql); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return res ; } pom.xml中添加如下配置 添加版本配置
第一:非集群状态下 非集群状态下用Jedis获取Redis连接,得到Jedis对象即可,一共有两种:1.利用Jedis构造器,仅限用于测试,在实际项目中肯定是用JedisPool。 Jedis(String host); Jedis(String host , int port);2.利用JedisPool 主要是利用Jedis jedis=jedisPool.getResource(); JedisPool有N多个构造器,常用的构造器参数有GenericObjectPoolConfig poolConfig,String host,int port,int timeout,String password,创建GenericObjectPoolConfig对象时我们一般用其子类JedisPoolConfig (redis.clients.jedis.JedisPoolConfig),timeout是连接redis服务器的超时时间,以毫秒为单位,一般设置为0,如果不设为0,则不可设置太小,如果设成1、2,那么可能因为网络原因在1毫秒、2毫秒之内没有连上服务器而报错。见下例:[java] view plain copy public static void main(String[] args) { JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数 poolConfig.setMaxTotal(2); // 最大空闲数 poolConfig.setMaxIdle(2); // 最大允许等待时间,如果超过这个时间还未获取到连接,则会报JedisException异常: // Could not get a resource from the pool poolConfig.setMaxWaitMillis(1000); JedisPool pool = new JedisPool(poolConfig, "192.168.83.128", 6379, 0, "123"); Jedis jedis = null; try { for (int i = 0; i < 5;="" i++)="" {="" jedis="pool.getResource();" jedis.set("foo"="" +="" i,="" "bar"="" +="" i);="" system.out.println("第"="" +="" (i="" +="" 1)="" +="" "个连接,="" 得到的值为"="" +="" jedis.get("foo"="" +="" i));="" 用完一定要释放连接="" jedis.close();="" }="" }="" finally="" {="" pool.close();="" }="" }="" 如上,创建出一个jedispool对象,然后调用其getresource()方法获取redis连接即可,之后就可以调用jedis=""> jedis连接用完要释放即close,如果不close,则产生的连接会越来越多,当达到了最大连接数,再想获得连接,就会等待,当超过了最大等待时间后就会报异常。第二:集群状态下 集群状态下用Jedis获取redis连接,是得到JedisCluster对象,之后对redis进行操作都是用此对象的方法进行的:[java] view plain copy public static void main(String[] args) { JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数 poolConfig.setMaxTotal(1); // 最大空闲数 poolConfig.setMaxIdle(1); // 最大允许等待时间,如果超过这个时间还未获取到连接,则会报JedisException异常: // Could not get a resource from the pool poolConfig.setMaxWaitMillis(1000); Set
转载请注明出处51数据库 » javajedispassword Java中的vector可以存到redis中吗
连接java的oracle的数据库怎么创建
spring-data-redis 怎么监听消息队列有消息来了
怎么连接redis集群 使用jedis连接单机和集群redis的两种方式