CMemBase.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <?php
  2. namespace loyalsoft;
  3. /*
  4. * 功能: 内存数据库操作基类
  5. * version:
  6. *
  7. */
  8. /**
  9. * Description of CMemBase
  10. * CMemNoSqL db 操作基类
  11. * @author gwang (mail@wanggangzero.cn)
  12. */
  13. abstract class CMemBase {
  14. /**
  15. * 连接
  16. */
  17. abstract public function conn($host, $port, $pwd = "");
  18. /**
  19. * 查询/获取 指定 key 对应的value
  20. */
  21. abstract public function get($key);
  22. abstract public function set($key, $value, $ts = 0);
  23. /**
  24. * 取没有进行json编码的数据
  25. * @param type $key
  26. * @return type
  27. */
  28. abstract public function getWithoutJson($key);
  29. /**
  30. * 设置值,内部不加 json_encode
  31. * @param string $key
  32. * @param string $value
  33. * @param seconds $ts
  34. * @return boolean
  35. */
  36. abstract public function setWithoutJson($key, $value, $ts = 0);
  37. /**
  38. * 给某个指定数据 加上 指定的数值
  39. */
  40. abstract public function add($key, $value, $ts = 0);
  41. /**
  42. * 替换某条数据
  43. */
  44. abstract public function replace($key, $value, $ts = 0);
  45. /**
  46. * 删除某条指定的数据
  47. */
  48. abstract public function delete($key);
  49. /**
  50. * 给指定的key所对应的值增加1
  51. */
  52. abstract public function increment($key);
  53. /**
  54. * 一次取多个值
  55. */
  56. abstract public function getMulti($keys);
  57. /**
  58. * 一次设置多个值
  59. * @param array $dict [{"key":value},{"key":value}, ...]
  60. * @param int $expireTs 超时时间
  61. */
  62. abstract public function setMutlti($dict, $expireTs = 0);
  63. // /**
  64. // * Compare and set 比较并且(结果相同则)写入
  65. // */
  66. // abstract public function cas($key, $value, $ts);
  67. /**
  68. * 复制
  69. */
  70. abstract public function copy($surKey, $desKey);
  71. /**
  72. * 关闭连接
  73. */
  74. abstract public function close();
  75. }