用户登录
用户注册

分享至

javajedispassword

  • 作者: 坦塔罗斯0266
  • 来源: 51数据库
  • 2020-04-21

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 map = new HashMap(); map.put("name", "fujianchao"); map.put("password", "123"); map.put("age", "12"); // 存入一个map jedis.hmset("user", map); // map key的个数 System.out.println("map的key的个数" + jedis.hlen("user")); // map key System.out.println("map的key" + jedis.hkeys("user")); // map value System.out.println("map的value" + jedis.hvals("user")); // (String key, String。 fields)返回值是一个list List list = jedis.hmget("user", "age", "name"); System.out.println("redis中key的各个 fields值:" + jedis.hmget("user", "age", "name") + list.size()); // 删除map中的某一个键 的值 password // 当然 (key, fields) 也可以是多个fields jedis.hdel("user", "age"); System.out.println("删除后map的key" + jedis.hkeys("user")); } /** * list */ @Test public void test4() { jedis.lpush("list", "aa"); jedis.lpush("list", "bb"); jedis.lpush("list", "cc"); System.out.println(jedis.lrange("list", 0, -1)); System.out.println(jedis.lrange("list", 0, 1)); System.out.println(jedis.lpop("list")); // 栈顶 jedis.del("list"); } /** * 自定义对象 User为例 id name * * RedisTemplate 中有 序列化和反序列化 * 如:template.getStringSerializer().serialize("name") */ @Test public void test5() { User user = new User(); user.setId(123); user.setName("fighter"); // 存入一个 user对象 jedis.set("user".getBytes(), SerializationUtil.serialize(user)); // 获取 byte[] bs = jedis.get("user".getBytes()); User desUser = (User) SerializationUtil.deserialize(bs); System.out.println(desUser.getId() + ":" + desUser.getName()); } 对于自定义对象,需要进行序列化和反序列化:我这里提取出了一个工具类,SerializationUtil.java/** * 序列化就是将一个对象转换为二进制的数据流。

这样就可以进行传输,或者保存到文件中。如果一个类的对象要想实现序列化,就必须实现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; }。

Java中的vector可以存到redis中吗

一、操作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 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());ByteArrayInputStream 。

连接java的oracle的数据库怎么创建

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 ;

}

spring-data-redis 怎么监听消息队列有消息来了

pom.xml中添加如下配置 添加版本配置 2.8.1 1.7.2.RELEASE 2.2 jedis --> redis.clients jedis ${jedis.version} org.apache.commons commons-pool2 ${commons-pool2.version} org.springframework.data spring-data-redis ${spring-data-redis.version} properties文件中添加如下配置#redis配置 redis.host=192.168.1.150 redis.port=6379 redis.password=redis redis.timeout=2000 redis.max_total=100 redis.max_idle=20 redis.min_idle=5 redis.test_on_borrow=true redis.test_on_return=true applicationContext.xml中添加如下配置:<!-- jedis="" 连接池配置--=""> Jedis ConnectionFactory 数据库连接配置,注意id名称必须为redisConnectionFactory--> password" value="${redis.password}" /> 定义消息发送者(生产者):@Component public class SendMessage { @Autowired private RedisTemplate redisTemplate; public void sendMessage(String channel, Serializable message) { redisTemplate.convertAndSend(channel, message); } } 定义消息处理者(消费者):public class ListenMessage { public void handleMessage(Serializable message){ System.out.println(message); } } 调用:/queue/redis @Controller @RequestMapping(value = "/queue") public class QueueController { @Autowired SendMessage sendMessage; @RequestMapping(value="/redis") public void redis(){ for (int i = 0; i <1000; i++)="" {="" sendmessage.sendmessage("java",i);="" }="" }="">

怎么连接redis集群 使用jedis连接单机和集群redis的两种方式

第一:非集群状态下 非集群状态下用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 nodes = new LinkedHashSet(); nodes.add(new HostAndPort("192.168.83.128", 6379)); nodes.add(new HostAndPort("192.168.83.128", 6380)); nodes.add(new HostAndPort("192.168.83.128", 6381)); nodes.add(new HostAndPort("192.168.83.128", 6382)); nodes.add(new HostAndPort("192.168.83.128", 6383)); nodes.add(new HostAndPort("192.168.83.128", 6384)); JedisCluster cluster = new JedisCluster(nodes, poolConfig); String name = cluster.get("name"); System.out.println(name); cluster.set("age", "18"); System.out.println(cluster.get("age")); try { cluster.close(); } catch (IOException e) { e.printStackTrace(); } } 用集群时,好像没有办法设置集群的参数,比如最大连接数,虽然在创建JedisCluster 对象时传了JedisPoolConfig对象进去,但是JedisPoolConfig对象中的设置是不生效的。

转载请注明出处51数据库 » javajedispassword

软件
前端设计
程序设计
Java相关