golang从redis中分页获取列表数据

  1. package main
  2. import (
  3. "fmt"
  4. "github.com/go-redis/redis"
  5. "strconv"
  6. )
  7. func main() {
  8. //redis地址,密码,数据库
  9. redisc, err := RedisInit("192.168.2.80:6379","123456",12)
  10. if err != nil {
  11. fmt.Println(err)
  12. return
  13. }
  14. //添加模拟数据100条
  15. //datacCount, err := AddData(redisc, 100)
  16. //if err != nil {
  17. // fmt.Println(err)
  18. // return
  19. //}
  20. //fmt.Printf("成功添加%d条数据", datacCount)
  21. count, err := redisc.LLen("aticle1").Result()
  22. if err != nil {
  23. fmt.Println(err)
  24. return
  25. }
  26. fmt.Println(count)
  27. //每页多少条数据
  28. pageSize := 10
  29. //第几页
  30. page := 5
  31. start := page * pageSize
  32. end := start + pageSize - 1
  33. listData, err := redisc.LRange("aticle1", int64(start), int64(end)).Result()
  34. if err != nil {
  35. fmt.Println(err)
  36. return
  37. }
  38. fmt.Println(listData)
  39. }
  40. // 初始化redis连接
  41. func RedisInit(addr, pass string, db int) (*redis.Client, error) {
  42. redisdb := redis.NewClient(&redis.Options{
  43. Addr: addr,
  44. Password: pass,
  45. DB: db,
  46. PoolSize: 10,
  47. })
  48. _, err := redisdb.Ping().Result()
  49. if err != nil {
  50. return nil, err
  51. }
  52. return redisdb, nil
  53. }
  54. // 添加模拟数据
  55. func AddData(client *redis.Client, n int) (count int64, err error) {
  56. var dataSlice []string
  57. for i := 0; i < n; i++ {
  58. dataSlice = append(dataSlice, strconv.Itoa(i))
  59. }
  60. count, err = client.RPush("aticle1", dataSlice).Result()
  61. return
  62. }
声明: 本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
云原生

IDEA2024激活工具及最新激活码(亲测有效)

2025-1-16 18:15:01

Golang

golang切片长度和容量的关系,怎么区分

2025-2-10 11:15:41

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索