In der tatsächlichen Arbeit wird Redis normalerweise als häufig verwendete Werkzeugklasse verwendet. Sie müssen es nur aufrufen. Hier sind einige gängige Schnittstellenmethoden und Implementierungen von Redis. Hier sind zwei verschiedene Implementierungen, die die Standalone-Version und die Cluster-Version kapseln.
Java wird auf der Grundlage des Jedis-JAR-Pakets entwickelt. Zunächst müssen Sie das JAR-Paket herunterladen und installieren. Es wird hier nicht bereitgestellt online. Wenn Sie zum Erstellen Maven verwenden, ist dies ebenfalls sehr einfach: Die Abhängigkeit hier ist Version 2.7.3. Es gibt keine klare Regel, von welcher Version dies abhängt, es hängt von Ihrer eigenen Situation ab.
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.7.3</version> </dependency>
Erstens: Die gemeinsamen Schnittstellen von Redis sind wie folgt:
public interface JedisClient { //赋值的方法 String set(String key, String value); //获取值的方法 String get(String key); //判断是否存在 Boolean exists(String key); Long expire(String key, int seconds); Long ttl(String key); Long incr(String key); //hset 方法 Long hset(String key, String field, String value); //hget方法 String hget(String key, String field); //删除 has方法 Long hdel(String key, String... field); //判断has是否存在 Boolean hexists(String key, String field); List<String> hvals(String key); //删除方法 Long del(String key); }
Zweitens: Die Implementierung der eigenständigen Version von Redis, der Code lautet wie folgt:
import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; public class JedisClientPool implements JedisClient { private JedisPool jedisPool; public JedisPool getJedisPool() { return jedisPool; } public void setJedisPool(JedisPool jedisPool) { this.jedisPool = jedisPool; } @Override public String set(String key, String value) { Jedis jedis = jedisPool.getResource(); String result = jedis.set(key, value); jedis.close(); return result; } @Override public String get(String key) { Jedis jedis = jedisPool.getResource(); String result = jedis.get(key); jedis.close(); return result; } @Override public Boolean exists(String key) { Jedis jedis = jedisPool.getResource(); Boolean result = jedis.exists(key); jedis.close(); return result; } @Override public Long expire(String key, int seconds) { Jedis jedis = jedisPool.getResource(); Long result = jedis.expire(key, seconds); jedis.close(); return result; } @Override public Long ttl(String key) { Jedis jedis = jedisPool.getResource(); Long result = jedis.ttl(key); jedis.close(); return result; } @Override public Long incr(String key) { Jedis jedis = jedisPool.getResource(); Long result = jedis.incr(key); jedis.close(); return result; } @Override public Long hset(String key, String field, String value) { Jedis jedis = jedisPool.getResource(); Long result = jedis.hset(key, field, value); jedis.close(); return result; } @Override public String hget(String key, String field) { Jedis jedis = jedisPool.getResource(); String result = jedis.hget(key, field); jedis.close(); return result; } @Override public Long hdel(String key, String... field) { Jedis jedis = jedisPool.getResource(); Long result = jedis.hdel(key, field); jedis.close(); return result; } @Override public Boolean hexists(String key, String field) { Jedis jedis = jedisPool.getResource(); Boolean result = jedis.hexists(key, field); jedis.close(); return result; } @Override public List<String> hvals(String key) { Jedis jedis = jedisPool.getResource(); List<String> result = jedis.hvals(key); jedis.close(); return result; } @Override public Long del(String key) { Jedis jedis = jedisPool.getResource(); Long result = jedis.del(key); jedis.close(); return result; } }
Drei: Die Implementierung der Redis-Cluster-Version: Der spezifische Code lautet wie folgt:
import redis.clients.jedis.JedisCluster; public class JedisClientCluster implements JedisClient { private JedisCluster jedisCluster; public JedisCluster getJedisCluster() { return jedisCluster; } public void setJedisCluster(JedisCluster jedisCluster) { this.jedisCluster = jedisCluster; } @Override public String set(String key, String value) { return jedisCluster.set(key, value); } @Override public String get(String key) { return jedisCluster.get(key); } @Override public Boolean exists(String key) { return jedisCluster.exists(key); } @Override public Long expire(String key, int seconds) { return jedisCluster.expire(key, seconds); } @Override public Long ttl(String key) { return jedisCluster.ttl(key); } @Override public Long incr(String key) { return jedisCluster.incr(key); } @Override public Long hset(String key, String field, String value) { return jedisCluster.hset(key, field, value); } @Override public String hget(String key, String field) { return jedisCluster.hget(key, field); } @Override public Long hdel(String key, String... field) { return jedisCluster.hdel(key, field); } @Override public Boolean hexists(String key, String field) { return jedisCluster.hexists(key, field); } @Override public List<String> hvals(String key) { return jedisCluster.hvals(key); } @Override public Long del(String key) { return jedisCluster.del(key); } }
Für weitere Redis-Kenntnisse beachten Sie bitte die Spalte Redis-Einführungs-Tutorial.
Das obige ist der detaillierte Inhalt vonImplementierung der gemeinsamen Redis-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!