Wenn es nur um einfaches Hinzufügen, Löschen, Ändern und Abfragen geht, müssen Sie mir nur sagen, welche Klasse serialisiert und deserialisiert werden muss, und mir sagen, wie das Präfix des Schlüssels lautet Ist das nicht genug? Was die Ablaufzeit betrifft, können wir sie dieses Mal ignorieren. Wenn wir die Ablaufzeit hinzufügen müssen, ist das keine schwierige Sache. Dann denken wir eine Weile darüber nach und verwenden Generika in Java, um die folgende Basisklasse zu erhalten. 🎜🎜#
2. Basisdienstklassepublic class BasicDataRedisService<T> { /** * Redis key prefix String * Redis中的key前缀 */ private String prefixString; private Class<T> targetClass; @Autowired private StringRedisTemplate redisTemplate; public BasicDataRedisService(String prefixString, Class targetClass) { this.prefixString = prefixString; this.targetClass = targetClass; } // -------------------------以下为内部使用--------------------------------- protected String generateKey(String id) { return prefixString + "id:" + id; } protected T getByKey(String key) { T result = ValueRedisUtil.getRedisObject(redisTemplate, key, targetClass); return result; } protected boolean setByKey(String key, Object object) { return ValueRedisUtil.setRedisObject(redisTemplate, key, object); } protected boolean deleteByKey(String key) { return ValueRedisUtil.delRedis(redisTemplate, key); } // -------------------------以下对外提供--------------------------------- /** * 根据id获取 * * @param id * @return */ public T getById(String id) { String key = generateKey(id); return getByKey(key); } /** * 根据id刷新 * * @param data * @param id * @return */ public boolean setByModel(Object data, String id) { String key = generateKey(id); return setByKey(key, data); } /** * 根据id删除 * * @param id * @return */ public boolean deleteById(String id) { String key = generateKey(id); return deleteByKey(key); } }
@Service public class UserRedisServiceImpl extends BasicDataRedisService<User> { private static String PREFIX = "henbao:user:"; public UserRedisServiceImpl() { super(PREFIX, User.class); } }4. Denken Sie über die Nachteile nach, die das Schreiben auf diese Weise mit sich bringt Obwohl das Schreiben auf diese Weise die Menge an Code spart und den gewünschten Komfort erreichen kann, habe ich immer das Gefühl dass etwas nicht stimmt. Die Bedienung könnte etwas auffälliger sein. Junge, wenn du eine solche Idee haben kannst, dann herzlichen Glückwunsch, du hast ein höheres Streben nach Code. Wir haben die Klasse jetzt zweimal geschrieben und Konstanten geschrieben, um zu zeigen, wie das Präfix in Redis lautet. Wenn wir Spring verwenden, teilen wir dem zugrunde liegenden Framework diese Dinge normalerweise nicht mit. Normalerweise verwenden wir Anmerkungen, oder? Daher erscheint
. Redis Repositories
Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein universelles Redis-Skript zum Hinzufügen, Löschen, Ändern und Abfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!