好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java实现RedisUtils操作五大集合(增删改查)

前排提示,我在这个工具类加了@Component注解,如果在springboot的项目使用,记得通过@Autowired注入使用。

?

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

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.data.redis.core.*;

import org.springframework.stereotype.Component;

import java.io.Serializable;

import java.util.List;

import java.util.Set;

 

 

@Component

public class RedisUtils {

 

 

     @Autowired

 

     private RedisTemplate redisTemplate;

 

 

     /**

      * 写入String型 [ 键,值]

      *

      * @param key

      * @param value

      * @return

      */

 

     public boolean set( final String key, Object value) {

         boolean result = false ;

         try {

             ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();

             operations.set(key, value);

             result = true ;

         } catch (Exception e) {

             e.printStackTrace();

         }

         return result;

 

     }

 

 

 

   /**

      * 写入String型,顺便带有过期时间 [ 键,值]

      *

      * @param key

      * @param value

      * @return

      */

 

     public boolean setWithTime( final String key, Object value, int seconds) {

         boolean result = false ;

         try {

 

             ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();

             operations.set(key, value,seconds, TimeUnit.SECONDS);

             result = true ;

         } catch (Exception e) {

             e.printStackTrace();

         }

         return result;

 

     }

 

 

 

     /**

      * 批量删除对应的value

      *

      * @param keys

      */

 

     public void remove( final String... keys) {

         for (String key : keys) {

             remove(key);

         }

     }

 

     /**

      * 批量删除key

      *

      * @param pattern

      */

 

     public void removePattern( final String pattern) {

         Set<Serializable> keys = redisTemplate.keys(pattern);

         if (keys.size() > 0 )

             redisTemplate.delete(keys);

     }

 

     /**

      * 删除对应的value

      *

      * @param key

      */

 

     public void remove( final String key) {

         if (exists(key)) {

             redisTemplate.delete(key);

         }

     }

 

 

     /**

      * 判断缓存中是否有对应的value

      *

      * @param key

      * @return

      */

 

     public boolean exists( final String key) {

         return redisTemplate.hasKey(key);

     }

 

 

     /**

      * 读取缓存

      *

      * @param key

      * @return

      */

 

     public Object get( final String key) {

         Object result = null ;

         ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();

         result = operations.get(key);

         return result;

     }

 

 

     /**

      * 哈希 添加

      * hash 一个键值(key->value)对集合

      *

      * @param key

      * @param hashKey

      * @param value

      */

 

     public void hmSet(String key, Object hashKey, Object value) {

 

         HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();

 

         hash.put(key, hashKey, value);

 

     }

 

 

     /**

      * Hash获取数据

      *

      * @param key

      * @param hashKey

      * @return

      */

 

     public Object hmGet(String key, Object hashKey) {

         HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();

         return hash.get(key, hashKey);

 

     }

 

 

     /**

      * 列表添加

      * list:lpush key value1

      *

      * @param k

      * @param v

      */

 

     public void lPush(String k, Object v) {

         ListOperations<String, Object> list = redisTemplate.opsForList();

         list.rightPush(k, v);

     }

 

 

     /**

      * 列表List获取

      * lrange: key 0 10 (读取的个数 从0开始 读取到下标为10 的数据)

      *

      * @param k

      * @param l

      * @param l1

      * @return

      */

 

     public List<Object> lRange(String k, long l, long l1) {

         ListOperations<String, Object> list = redisTemplate.opsForList();

         return list.range(k, l, l1);

     }

 

 

     /**

      * Set集合添加

      *

      * @param key

      * @param value

      */

 

     public void add(String key, Object value) {

         SetOperations<String, Object> set = redisTemplate.opsForSet();

         set.add(key, value);

     }

 

 

     /**

      * Set 集合获取

      *

      * @param key

      * @return

      */

 

     public Set<Object> setMembers(String key) {

 

         SetOperations<String, Object> set = redisTemplate.opsForSet();

 

         return set.members(key);

 

     }

 

 

     /**

      * Sorted set :有序集合添加

      *

      * @param key

      * @param value

      * @param scoure

      */

 

     public void zAdd(String key, Object value, double scoure) {

         ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();

         zset.add(key, value, scoure);

     }

 

 

     /**

      * Sorted set:有序集合获取

      *

      * @param key

      * @param scoure

      * @param scoure1

      * @return

      */

 

     public Set<Object> rangeByScore(String key, double scoure, double scoure1) {

 

         ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();

 

         return zset.rangeByScore(key, scoure, scoure1);

 

     }

 

 

     /**

      * 根据key获取Set中的所有值

      *

      * @param key 键

      * @return

      */

 

     public Set<Integer> sGet(String key) {

         try {

             return redisTemplate.opsForSet().members(key);

         } catch (Exception e) {

             e.printStackTrace();

             return null ;

         }

     }

 

 

     /**

      * 根据value从一个set中查询,是否存在

      *

      * @param key   键

      * @param value 值

      * @return true 存在 false不存在

      */

 

     public boolean sHasKey(String key, Object value) {

         try {

             return redisTemplate.opsForSet().isMember(key, value);

         } catch (Exception e) {

             e.printStackTrace();

             return false ;

         }

     }

 

}

到此这篇关于Java实现RedisUtils操作五大集合(增删改查)的文章就介绍到这了,更多相关Java RedisUtils操作内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://blog.csdn.net/qq_35387940/article/details/94392100

查看更多关于Java实现RedisUtils操作五大集合(增删改查)的详细内容...

  阅读:21次