package com.cxy.redisclient.service; import java.util.ArrayList; import java.util.List; import com.cxy.redisclient.integration.key.Expire; import com.cxy.redisclient.integration.key.IsKeyExist; import com.cxy.redisclient.integration.list.AddList; import com.cxy.redisclient.integration.list.InsertList; import com.cxy.redisclient.integration.list.ListList; import com.cxy.redisclient.integration.list.ListListPage; import com.cxy.redisclient.integration.list.RemoveValue; import com.cxy.redisclient.integration.list.SetValue; import com.cxy.redisclient.integration.list.UpdateList; public class ListService { public void add(int id, int db, String key, List<String> values, boolean headTail, boolean exist, int ttl) { AddList command = new AddList(id, db, key, values, headTail, exist); command.execute(); if(ttl != -1){ Expire command1 = new Expire(id, db, key, ttl); command1.execute(); } } public void update(int id, int db, String key, List<String> values, boolean headTail){ UpdateList command = new UpdateList(id, db, key, values, headTail); command.execute(); } public List<String> list(int id, int db, String key){ IsKeyExist command1 = new IsKeyExist(id, db, key); command1.execute(); if(!command1.isExist()) throw new KeyNotExistException(id, db, key); ListList command = new ListList(id, db, key); command.execute(); return command.getValues(); } public void insert(int id, int db, String key, boolean beforeAfter, String pivot, String value){ InsertList command = new InsertList(id, db, key, beforeAfter, pivot, value); command.execute(); } public void setValue(int id, int db, String key, int index, String value) { SetValue command = new SetValue(id, db, key, index, value); command.execute(); } public void removeFirst(int id, int db, String key) { RemoveValue command = new RemoveValue(id, db, key, true); command.execute(); } public void removeLast(int id, int db, String key) { RemoveValue command = new RemoveValue(id, db, key, false); command.execute(); } public void addHead(int id, int db, String key, String value){ List<String> values = new ArrayList<String>(); values.add(value); AddList command = new AddList(id, db, key, values, false, true); command.execute(); } public void addTail(int id, int db, String key, String value){ List<String> values = new ArrayList<String>(); values.add(value); AddList command = new AddList(id, db, key, values, true, true); command.execute(); } public List<String> getPage(int id, int db, String key, int start, int end) { ListListPage command = new ListListPage(id, db, key, start, end); command.execute(); return command.getPage(); } }