在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

redis的scan语法及作用对象

183次阅读
没有评论

共计 3134 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要讲解了“redis 的 scan 语法及作用对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“redis 的 scan 语法及作用对象”吧!

redis 的 scan 操作序

在 redis 的 db 存在大量 key 或者 db 里头的某个 set、zset、hash 里头的元素非常多的话,用普通的 get all 操作很可能导致 redis 因为这个操作阻塞了,导致不能响应其他操作,特别是在高并发、海量数据的背景下,这个问题显得尤其严重。那么能不能像数据库那样有个分页的功能呢,答案就是 scan 操作。本文主要展示怎么在 redis-cli 以及 SpringDataRedis 中的使用。【推荐:redis 视频教程】

scan 语法

scan 之后返回两部分,第一部分是下次 scan 的参数,第二部分就是 scan 出来的项

作用对象 (db、set、zset、hash)

db(key)

127.0.0.1:6379  scan 0
1)  120 
2) 1)  articleMap:63 
 2)  articleMap:37 
 3)  counter:__rand_int__ 
 4)  articleMap:60 
 5)  tagSet:tag5 
 6)  articleMap:80 
 7)  messageCache~keys 
 8)  mymap 
 9)  articleMap:46 
 10)  articleMap:55 
127.0.0.1:6379  scan 120
1)  28 
2) 1)  articleMap:17 
 2)  tagSet:tag1 
 3)  articleMap:18 
 4)  articleMap:81 
 5)  \xac\xed\x00\x05t\x00\btest-cas 
 6)  articleMap:51 
 7)  articleMap:94 
 8)  articleMap:26 
 9)  articleMap:71 
 10)  user-abcde

set(value)

127.0.0.1:6379  sscan myset 0
1)  3 
2) 1)  m 
 2)  j 
 3)  c 
 4)  h 
 5)  f 
 6)  i 
 7)  a 
 8)  g 
 9)  n 
 10)  e 
 11)  b 
127.0.0.1:6379  sscan myset 3
1)  0 
2) 1)  l 
 2)  k 
 3)  d

zset(value score)

127.0.0.1:6379  zscan sortset 0
1)  0 
2) 1)  tom 
 2)  89 
 3)  jim 
 4)  90 
 5)  david 
 6)  100

hash(key value)

127.0.0.1:6379  hscan mymap 0
1)  0 
2) 1)  name 
 2)  codecraft 
 3)  email 
 4)  pt@g.cn 
 5)  age 
 6)  20 
 7)  desc 
 8)  hello 
 9)  sex 
 10)  male

SCAN 的额外参数

count(指定每次取多少条)

127.0.0.1:6379  scan 0 count 5
1)  240 
2) 1)  articleMap:63 
 2)  articleMap:37 
 3)  counter:__rand_int__ 
 4)  articleMap:60 
 5)  tagSet:tag5

match(匹配 key)

127.0.0.1:6379  scan 0 match article*
1)  120 
2) 1)  articleMap:63 
 2)  articleMap:37 
 3)  articleMap:60 
 4)  articleMap:80 
 5)  articleMap:46 
 6)  articleMap:55

RedisTemplate 操作遍历数据库 key

@Test
 public void scanDbKeys(){ template.execute(new RedisCallback Iterable byte[] () {
 @Override
 public Iterable byte[]  doInRedis(RedisConnection connection) throws DataAccessException { List byte[]  binaryKeys = new ArrayList byte[] 
 Cursor byte[]  cursor = connection.scan(ScanOptions.scanOptions().count(5).build());
 while (cursor.hasNext()) { byte[] key = cursor.next();
 binaryKeys.add(key);
 System.out.println(new String(key, StandardCharsets.UTF_8));
 }
 try { cursor.close();
 } catch (IOException e) {
 // do something meaningful
 }
 return binaryKeys;
 }
 });
 }

遍历 set

/**
 * sadd myset a b c d e f g h i j k l m n
 */
 @Test
 public void scanSet(){ Cursor String  cursor = template.opsForSet().scan(myset ,ScanOptions.NONE);
 while (cursor.hasNext()){ System.out.println(cursor.next());
 }
 }

遍历 zset

/**
 * zadd sortset 89 tom 90 jim 100 david
 */
 @Test
 public void scanZSet(){ Cursor ZSetOperations.TypedTuple String  cursor = template.opsForZSet().scan(sortset ,ScanOptions.NONE);
 while (cursor.hasNext()){ ZSetOperations.TypedTuple String  item = cursor.next();
 System.out.println(item.getValue() +  :  + item.getScore());
 }
 }

遍历 hash

/**
 * hset mymap name  codecraft 
 * hset mymap email  pt@g.cn 
 * hset mymap age 20
 * hset mymap desc  hello 
 * hset mymap sex  male 
 */
 @Test
 public void scanHash(){ Cursor Map.Entry Object, Object  curosr = template.opsForHash().scan(mymap , ScanOptions.NONE);
 while(curosr.hasNext()){ Map.Entry Object, Object  entry = curosr.next();
 System.out.println(entry.getKey()+ : +entry.getValue());
 }
 }

感谢各位的阅读,以上就是“redis 的 scan 语法及作用对象”的内容了,经过本文的学习后,相信大家对 redis 的 scan 语法及作用对象这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计3134字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久久久精品在线观看 | 在线免费观看www视频 | 久久er99热精品一区二区 | 免费国产小视频 | 欲香欲色天天天综合和网 | 亚洲中文字幕无码爆乳av | 欧洲精品免费一区二区三区 | 国产精品二区高清在线 | 成人免费大片a毛片 | 国产在线国偷精品产拍 | 精品亚洲大全 | 日本人的一区二区三区四区 | 免费人成观看在线网 | 欧美黑人性暴力猛交喷水 | 丰满爆乳一区二区三区 | 国产破处 | 视频三区精品中文字幕 | 国产成人精品美女在线 | 日本另类αv欧美另类aⅴ | 国产精品a国产精品a手机版 | 欧美精品亚洲精品日韩专 | 91老司机在线| 久久久亚洲精品一区二区三区 | 国产三级av在线播放 | 免黄网站 | 小明精品国产一区二区三区 | 中国亚州女人69内射少妇 | 日韩理论午夜无码 | 一区二区亚洲精品国产精华液 | 2021国内精品久久久久久影院 | 亚洲精品久久久久电影网 | 国产欧美成人免费观看视频 | 成人精品免费视频 | 国产无套中出学生姝 | 欧美专区在线 | 极品日韩 | 午夜影院普通用户体验区 | 日韩国产欧美在线观看一区二区 | 国产日本欧美高清免费区 | 国产日韩久久久久69影院 | 亚洲一级毛片 |