派生自 projectDept/qhighschool

yn147
2023-05-10 96286178ee1c257c130cb2ad964a781f36c4eee5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
package com.qxueyou.scc.base.service;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
 
/**
 * 缓存服务接口
 * 
 * @author 德虎
 *
 */
public interface ICacheService {
 
    /**
     * 根据key值获取指定类型对象
     * 
     * @param key
     *            对象key值
     * @param cls
     *            对象类型
     * @return
     */
    <T> T get(String key, Class<T> cls);
 
    /**
     * 根据key值获取指定类型对象
     * 
     * @param key
     *            对象key值
     * @return
     */
    <T> T get(String key);
 
    Long getIncrValue(String key);
 
    Long incr(String key);
 
    Long decr(String key);
 
    /**
     * 根据key值获取指定类型对象
     * 
     * @param keys
     * @return
     */
    Map<String, Object> getBulk(String... keys);
 
    /**
     * 将对象缓存到缓存池
     * 
     * @param key
     *            对象key值
     * @param expiredTime
     *            超时时间,单位秒
     * @param obj
     *            要缓存的对象
     * @return
     */
    void set(String key, int expiredTime, Object obj);
 
    /**
     * 将对象缓存到缓存池,永不过期
     * 
     * @param key
     *            对象key值
     * @param obj
     *            要缓存的对象
     * @return
     */
    void set(String key, Object obj);
 
    /**
     * 将对象缓存到缓存池
     * 
     * @param key
     *            cache名称
     * @param hashKey
     *            键值
     * @param obj
     *            要缓存的对象
     * @return
     */
    void set(String key, String hashKey, Object obj);
 
    /**
     * 将对象缓存到缓存池
     * 
     * @param key
     *            对象key值
     * @param expiredTime
     *            超时时间,单位秒
     * @param obj
     *            要缓存的对象
     * @return
     */
    boolean add(String key, int expiredTime, Object obj);
 
    /**
     * 将对象从缓存池删除
     * 
     * @param key
     *            对象key值
     * @return
     */
    void delete(String key);
 
    /**
     * 追加缓存池的值
     * 
     * @param key
     *            对象key值
     * @return
     */
    void append(String key, String value);
 
    /**
     * 获取list缓存中key所有value值
     */
    <T> List<T> lstAll(String key);
 
    /**
     * 向list缓存中放入值
     */
    void lstRightPush(String key, Object value);
 
    /**
     * 向list缓存中放入值
     */
    <T> void lstRightPushAll(String key, Collection<T> values);
 
    /**
     * 从列表获取指定范围内的数据
     * 
     * @param key
     * @param start
     * @param end
     * @return
     */
    <T> List<T> lstRange(String key, long start, long end);
 
    void lstTrim(String key, long start, long end);
 
    void lstClear(String key);
 
    /**
     * 根据key,index删除list中的value
     */
    void lstRemove(String key, Object value);
 
    /**
     * 通过key返回list中的值,并移除值
     */
    String lstLeftPop(String key);
    
    /**
     * 向hash缓存中存入对象
     *
     * @param key
     * @param hashKey
     * @param value
     */
    void putKeyForHash(Object key, Object hashKey, Object value);
    
    /**
     * 对key设置过其实键
     * @param key
     * @param timeout
     * @param unit
     */
    void expire(String key, long timeout, TimeUnit unit);
    
    /**
     * 如果不存在就添加
     * @param key
     * @param obj
     * @return
     */
    boolean setIfAbsent(String key, Object obj);
 
 
}