
* @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 ) 返回的是个list
jedis.mset( "name1" , "yangw" , "name2" , "demon" , "name3" , "elena" )
System. out .println(jedis.mget( "name1" , "name2" , "name3" ))
//map
Map<String,String>user = new HashMap<String,String>()
user.put( "name" , "cd" )
user.put( "password" , "123456" )
//map存入 redis
jedis.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中的所有value
System. out .println(String. format ( "values: %s" , jedis.hvals( "user" ) ))
//取出map中的name字段值
List<String>rsmap = jedis.hmget( "user" , "name" , "password" )
System. out .println(rsmap)
//删除map中的某一个键值 password
jedis.hdel( "user" , "password" )
System. out .println(jedis.hmget( "user" , "name" , "password" ))
//list
jedis.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))
//set
jedis.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
}
@Override
public 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 bis = new ByteArrayInputStream(bs)
ObjectInputStream inputStream = new ObjectInputStream(bis)
Person readObject = (Person) inputStream.readObject()
System. out .println( " read object \t" + readObject.toString())
inputStream.close()
bis.close()
redis.disconnect()
}
}
看来你是做日志记录,在SQL server 2005中建立一个触发器(delete,update\insert),针对table1,在触发器的代码中加上数据拷贝的SQL语句就可以了。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)