HBHttpRequestCache.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // HBHttpRequestCache.h
  3. // wq
  4. //
  5. // Created by weqia on 13-8-15.
  6. // Copyright (c) 2013年 Weqia. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import "LKDBHelper.h"
  10. @interface HBHttpRequestCache : NSObject
  11. {
  12. LKDBHelper * _dbHelper;
  13. NSString *_cacheFilePath;
  14. NSCache * _memoryCache;
  15. dispatch_queue_t _queue;
  16. long long _staleTime; // 过期时间
  17. BOOL _timeLimit; //是否有时间限制
  18. }
  19. +(HBHttpRequestCache*)shareCache;
  20. /*
  21. *清除所有的硬盘缓存 和 数据库缓存
  22. */
  23. +(void)clearCache;
  24. - (void)clearOneCache:(NSString *)url;
  25. /*
  26. *设置过期时间
  27. */
  28. -(void)setTimeLimit:(long long)time;
  29. /*
  30. *缓存内容较多且基本固定的文本内容
  31. *
  32. */
  33. -(BOOL)storeTextToDB:(NSString*)text withUrl:(NSString*)url;
  34. /*
  35. *从数据库中获取缓存的文本内容
  36. */
  37. -(NSString*) getTextFromDB:(NSString*)url;
  38. /*
  39. * 缓存图片到内存中
  40. */
  41. -(BOOL)storeBitmapToMemory:(UIImage*)image withKey:(NSString*)key;
  42. /*
  43. * 缓存图片到硬盘中
  44. */
  45. -(void)storeBitmapToDisk:(UIImage*)image withKey:(NSString*)key complete:(void(^)(BOOL))complete;
  46. /*
  47. * 缓存图片倒内存、硬盘中
  48. */
  49. -(void)storeBitmap:(UIImage*)image withKey:(NSString*)key complete:(void(^)(BOOL))complete;
  50. /*
  51. * 从内存缓存获取图片 如果没有对应图片,返回nil
  52. */
  53. -(UIImage*)getBitmapFromMemory:(NSString*)key;
  54. /*
  55. * 从硬盘中获取对应url 的图片 (同步方法)
  56. */
  57. -(UIImage*)getBitmapFromDisk:(NSString *)key;
  58. /*
  59. * 从硬盘中获取对应url 的图片 ,成功是调用回调,并返回 图片
  60. */
  61. -(void)getBitmapFromDisk:(NSString*)key complete:(void(^)(UIImage *))complete;
  62. /*
  63. * 先从内存缓存中获取图片,如果存在,直接调用回调,返回图片。 如果没有,从硬盘中获取,并调用回调返回图片,
  64. */
  65. -(void)getBitmap:(NSString*)key complete:(void(^)(UIImage *))complete;
  66. /*
  67. *清除当前缓存路径下的缓存
  68. */
  69. -(void) clearDiskCache;
  70. /*
  71. *清除内存缓存
  72. */
  73. -(void) clearMemoryCache;
  74. /*
  75. * 设置当前缓存的缓存路径
  76. */
  77. -(void) setDirectoryAtPath:(NSString*) path;
  78. @end