redis transaction

import redis.clients.jedis.Jedis;

import redis.clients.jedis.Transaction;

 

 

public class Simple6 {

 

public static void main(String[] args) {

 

isServerRunning ();

Jedis client = getConnection();

 

client.hset("user:zhangsan", "query", "1");

List<String> list = new ArrayList<String>();

list.add("a");

list.add("b");

 

byte[] buf = serilizable(list);

 

long index = 1;

//client.lpush("dat:zhangsan:query", "a");

client.lpush("dat:zhangsan:query".getBytes(), buf);

boolean exists = client.hexists("user:zhangsan", "query");

if(exists){

String userVal = client.hget("user:zhangsan", "query");

System.out.println("userVal = " + userVal);

}

 

//client.lpop("dat:zhangsan:query");

//client.ltrim("dat:zhangsan:query", -1, 0);

 

exists = client.exists("dat:zhangsan:query");

if(exists){

//String lVal = client.lindex("dat:zhangsan:query", 1);

byte[] lVal = client.lpop("dat:zhangsan:query".getBytes());

Object o = unserilizable(lVal);

List<String> lo = (List<String>)o;

System.out.println("lVal = " + lo.get(0));

}

 

transaction(client);

client.close();

}

 

//redis transaction

private static void transaction(Jedis client){

Transaction tr = client.multi();

tr.hset("user:www", "query", "1");

tr.exec();

}

 

//ping

private static void isServerRunning(){

String host = "127.0.0.1";

     Jedis jedis = new Jedis(host, 6379);

     System.out.println("Connection to server sucessfully");

     System.out.println("Server is running: "+jedis.ping());

}

 

static Jedis getConnection(){

String host = "127.0.0.1";

     Jedis client = new Jedis(host, 6379);

   return client;

}

 

static byte[] serilizable(Object o){

ByteArrayOutputStream bos = new ByteArrayOutputStream();

ObjectOutputStream os = null;

try {

os = new ObjectOutputStream(bos);

os.writeObject(o);

return bos.toByteArray();

} catch (IOException e) {

e.printStackTrace ();

}finally{

try {

os.close();

bos.close();

} catch (IOException e) {

e.printStackTrace ();

}

}

return null;

}

 

static Object unserilizable(byte[] buf){

ByteArrayInputStream bis = new ByteArrayInputStream(buf);

ObjectInputStream os = null;

try {

os = new ObjectInputStream(bis);

Object o = os.readObject();

return o;

} catch (IOException e) {

e.printStackTrace ();

} catch(ClassNotFoundException e){

e.printStackTrace ();

}

finally{

try {

os.close();

bis.close();

} catch (IOException e) {

e.printStackTrace ();

}

}

return null;

}

 

}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326227040&siteId=291194637