派生自 projectDept/qhighschool

胡仁荣
2022-10-31 fe7381d6e8ec1f427408de0297ac7f41533202f6
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);
 
 
}