Java版的Redis (五)

2014-11-24 08:22:21 · 作者: · 浏览: 13
tClass())
return false;
BytesWrapper other = (BytesWrapper) obj;
if (!Arrays.equals(bytes, other.bytes))
return false;
return true;
}

}[java] view plaincopyprint package com.cdai.studio.redis;

import java.util.HashMap;

class Persistence {

private HashMap storage =
new HashMap();


void put(String key, Object value) {
storage.put(key, value);
}

Object get(String key) {
return storage.get(key);
}

}
package com.cdai.studio.redis;

import java.util.HashMap;

class Persistence {

private HashMap storage =
new HashMap();


void put(String key, Object value) {
storage.put(key, value);
}

Object get(String key) {
return storage.get(key);
}

}


3.简单的客户端
[java] view plaincopyprint package com.cdai.studio.redis;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.List;

public class RedisServer {

private RedisDB redis;

public RedisServer(RedisDB redis) {
this.redis = redis;
}

@SuppressWarnings("unchecked")
public void start() {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(1234);
while (true) {
Socket socket = serverSocket.accept();

ObjectInputStream input = new ObjectInputStream(socket.getInputStream());
List request = (List) input.readObject();

Object response = null;
if ("Set".equals(request.get(0))) {
redis.Set((String) request.get(1), request.get(2));
}
else if ("Get".equals(request.get(0))) {
response = redis.Get((String) request.get(1));
}

ObjectOutputStream output = new ObjectOutputStream(socket.getOutputStream());
output.writeObject(response);

input.close();
output.close();
socket.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (serverSocket != null) {
try {
serverSocket.close();
} catch (IOException e) {
}
}
}

}

}
package com.cdai.studio.redis;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.List;

public class RedisServer {

private RedisDB redis;

public RedisServer(RedisDB redis) {
this.redis = redis;
}

@SuppressWarnings("unchecked")
public void start() {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(1234);
while (true) {
Socket socket = serverSocket.accept();

ObjectInputStream input = new ObjectInputStream(socket.getInputStream());
List request = (List) input.readObject();

Object response = null;
if ("Set".equals(request.get(0))) {
redis.Set((String) request.get(1), request.get(2));
}