cache.rb 828 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. module Cache
  2. =begin
  3. delete a cache
  4. Cache.delete('some_key')
  5. =end
  6. def self.delete(key)
  7. Rails.cache.delete(key.to_s)
  8. end
  9. =begin
  10. write a cache
  11. Cache.write(
  12. 'some_key',
  13. { some: { data: { 'structure' } } },
  14. { expires_in: 24.hours, # optional, default 7 days }
  15. )
  16. =end
  17. def self.write(key, data, params = {})
  18. if !params[:expires_in]
  19. params[:expires_in] = 7.days
  20. end
  21. Rails.cache.write(key.to_s, data, params)
  22. end
  23. =begin
  24. get a cache
  25. value = Cache.get('some_key')
  26. =end
  27. def self.get(key)
  28. Rails.cache.read(key.to_s)
  29. end
  30. =begin
  31. clear whole cache store
  32. Cache.clear
  33. =end
  34. def self.clear
  35. # workaround, set test cache before clear whole cache, Rails.cache.clear complains about not existing cache dir
  36. Cache.write('test', 1)
  37. Rails.cache.clear
  38. end
  39. end