pgc_single.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. package cms
  2. import (
  3. "context"
  4. "go-common/app/interface/main/tv/model"
  5. "go-common/library/cache/memcache"
  6. "go-common/library/log"
  7. )
  8. // GetSnCMSCache get SeasonCMS cache.
  9. func (d *Dao) GetSnCMSCache(c context.Context, sid int64) (s *model.SeasonCMS, err error) {
  10. var (
  11. key = snCMSCacheKey(sid)
  12. conn = d.mc.Get(c)
  13. item *memcache.Item
  14. )
  15. defer conn.Close()
  16. if item, err = conn.Get(key); err != nil {
  17. if err == memcache.ErrNotFound {
  18. err = nil
  19. missedCount.Add("tv-meta", 1)
  20. } else {
  21. log.Error("conn.Get(%s) error(%v)", key, err)
  22. }
  23. return
  24. }
  25. if err = conn.Scan(item, &s); err != nil {
  26. log.Error("conn.Get(%s) error(%v)", key, err)
  27. }
  28. cachedCount.Add("tv-meta", 1)
  29. return
  30. }
  31. // SetSnCMSCache save model.SeasonCMS to memcache
  32. func (d *Dao) SetSnCMSCache(c context.Context, s *model.SeasonCMS) (err error) {
  33. var (
  34. key = snCMSCacheKey(s.SeasonID)
  35. conn = d.mc.Get(c)
  36. )
  37. defer conn.Close()
  38. if err = conn.Set(&memcache.Item{Key: key, Object: s, Flags: memcache.FlagJSON, Expiration: d.expireCMS}); err != nil {
  39. log.Error("conn.Set error(%v)", err)
  40. return
  41. }
  42. return
  43. }
  44. // GetEpCMSCache get EpCMS cache.
  45. func (d *Dao) GetEpCMSCache(c context.Context, epid int64) (s *model.EpCMS, err error) {
  46. var (
  47. key = epCMSCacheKey(epid)
  48. conn = d.mc.Get(c)
  49. item *memcache.Item
  50. )
  51. defer conn.Close()
  52. if item, err = conn.Get(key); err != nil {
  53. if err == memcache.ErrNotFound {
  54. err = nil
  55. missedCount.Add("tv-meta", 1)
  56. } else {
  57. log.Error("conn.Get(%s) error(%v)", key, err)
  58. }
  59. return
  60. }
  61. if err = conn.Scan(item, &s); err != nil {
  62. log.Error("conn.Get(%s) error(%v)", key, err)
  63. }
  64. cachedCount.Add("tv-meta", 1)
  65. return
  66. }
  67. // SetEpCMSCache save model.EpCMS to memcache
  68. func (d *Dao) SetEpCMSCache(c context.Context, s *model.EpCMS) (err error) {
  69. var (
  70. key = epCMSCacheKey(s.EPID)
  71. conn = d.mc.Get(c)
  72. )
  73. defer conn.Close()
  74. if err = conn.Set(&memcache.Item{Key: key, Object: s, Flags: memcache.FlagJSON, Expiration: d.expireCMS}); err != nil {
  75. log.Error("conn.Set error(%v)", err)
  76. return
  77. }
  78. return
  79. }