cache.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package db
  2. import (
  3. "sync/atomic"
  4. "time"
  5. "github.com/goburrow/cache"
  6. )
  7. var (
  8. // uid总数
  9. uidCount atomic.Int64
  10. // 启服加载后不能设置过期
  11. // uid缓存 key:uid, value:playerID
  12. uidCache = cache.New(
  13. cache.WithMaximumSize(-1),
  14. )
  15. // 启服加载后不能设置过期
  16. // 玩家名缓存 key:playerName, value:playerID
  17. playerNameCache = cache.New(
  18. cache.WithMaximumSize(-1),
  19. )
  20. )
  21. // UIDCount uid总数
  22. func UIDCount() int64 {
  23. return uidCount.Load()
  24. }
  25. var (
  26. // 节点信息表
  27. nodeTableCache = cache.New(
  28. cache.WithMaximumSize(-1),
  29. )
  30. // 玩家表缓存 key:playerID, value:*PlayerTable
  31. playerTableCache = cache.New(
  32. cache.WithMaximumSize(-1),
  33. cache.WithExpireAfterAccess(1*time.Hour),
  34. )
  35. // 道具表缓存 key:playerID, value:*ItemTable
  36. itemTableCache = cache.New(
  37. cache.WithMaximumSize(-1),
  38. cache.WithExpireAfterAccess(1*time.Hour),
  39. )
  40. //任务表缓存 key:playerID, value:*QuestTable
  41. questTableCache = cache.New(
  42. cache.WithMaximumSize(-1),
  43. cache.WithExpireAfterAccess(1*time.Hour),
  44. )
  45. //邮件表缓存 key:playerID, value:*MailTable
  46. mailTableCache = cache.New(
  47. cache.WithMaximumSize(-1),
  48. cache.WithExpireAfterAccess(1*time.Hour),
  49. )
  50. // 英雄表缓存 key:playerID, value:*HeroTable
  51. heroTableCache = cache.New(
  52. cache.WithMaximumSize(-1),
  53. cache.WithExpireAfterAccess(1*time.Hour),
  54. )
  55. // 装备表缓存 key:playerID, value:*EquipTable
  56. equipTableCache = cache.New(
  57. cache.WithMaximumSize(-1),
  58. cache.WithExpireAfterAccess(1*time.Hour),
  59. )
  60. // 阵容表缓存 key:playerID, value:*LineupTable
  61. lineupTableCache = cache.New(
  62. cache.WithMaximumSize(-1),
  63. cache.WithExpireAfterAccess(1*time.Hour),
  64. )
  65. // 聊天表缓存 key:playerID, value:*ChatTable
  66. chatTableCache = cache.New(
  67. cache.WithMaximumSize(-1),
  68. cache.WithExpireAfterAccess(1*time.Hour),
  69. )
  70. // 探险表缓存 key:playerID, value:*ChapterTable
  71. chapterTableCache = cache.New(
  72. cache.WithMaximumSize(-1),
  73. cache.WithExpireAfterAccess(1*time.Hour),
  74. )
  75. // 商店表缓存 key:playerID, value:*shopTable
  76. shopTableCache = cache.New(
  77. cache.WithMaximumSize(-1),
  78. cache.WithExpireAfterAccess(1*time.Hour),
  79. )
  80. // 跑马灯信息表
  81. marqueeTableCache = cache.New(
  82. cache.WithMaximumSize(-1),
  83. )
  84. )
  85. var (
  86. // 支付订单表 key:order_id, value:order
  87. orderTableCache = cache.New(
  88. cache.WithMaximumSize(-1),
  89. cache.WithExpireAfterAccess(2*time.Minute),
  90. )
  91. // 充值表 key:playerID, value:*ChargeTable
  92. chargeTableCache = cache.New(
  93. cache.WithMaximumSize(-1),
  94. cache.WithExpireAfterAccess(1*time.Hour),
  95. )
  96. )