redis
2022/5/10 19:02:37
本文主要是介绍redis,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.luban.redis; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class LubanSocket { private Socket socket; private InputStream inputStream; private OutputStream outputStream; public LubanSocket(String ip,int prot) { try { if(!isCon()){ socket=new Socket(ip,prot); inputStream=socket.getInputStream(); outputStream=socket.getOutputStream(); } } catch (IOException e) { e.printStackTrace(); } } public void send(String str){ System.out.println(str); try { outputStream.write(str.getBytes()); } catch (IOException e) { e.printStackTrace(); } } public String read(){ byte[] b=new byte[1024]; int count=0; try { count= inputStream.read(b); } catch (IOException e) { e.printStackTrace(); } return new String(b,0,count); } public boolean isCon(){ return socket!=null && !socket.isClosed() && socket.isConnected(); } public void close(){ if(outputStream!=null){ try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(inputStream!=null){ try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if(socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
package com.luban.redis; import redis.clients.jedis.Jedis; public class RedisClient { private LubanSocket lubanSocket; public RedisClient(String ip,int prot) { this.lubanSocket=new LubanSocket(ip,prot); } public String set(String key, String value){ lubanSocket.send(commandStrUtil(Resp.command.SET,key.getBytes(),value.getBytes())); return lubanSocket.read(); } public void close(){ lubanSocket.close(); } public String get(String key){ lubanSocket.send(commandStrUtil(Resp.command.GET,key.getBytes())); return lubanSocket.read(); } public String incr(String key){ lubanSocket.send(commandStrUtil(Resp.command.INCR,key.getBytes())); return lubanSocket.read(); } public String commandStrUtil(Resp.command command, byte[]... bytes){ StringBuilder stringBuilder=new StringBuilder(); stringBuilder.append(Resp.star).append(1+bytes.length).append(Resp.crlf); stringBuilder.append(Resp.lengthStart).append(command.toString().getBytes().length).append(Resp.crlf); stringBuilder.append(command.toString()).append(Resp.crlf); for (byte[] aByte : bytes) { stringBuilder.append(Resp.lengthStart).append(aByte.length).append(Resp.crlf); stringBuilder.append(new String(aByte)).append(Resp.crlf); } return stringBuilder.toString(); } public static void main(String[] args) { // RedisClient redisClient=new RedisClient("192.168.204.188",6379); Jedis redisClient=new Jedis("127.0.0.1",9999); System.out.println(redisClient.set("taibai", "123456")); System.out.println(redisClient.get("taibai")); System.out.println(redisClient.incr("lock")); redisClient.close(); } }
package com.luban.redis; public class Resp { public static final String star="*"; public static final String crlf="\r\n"; public static final String lengthStart="$"; public static enum command{ SET,GET,INCR } }
这篇关于redis的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识