CMemBase.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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. */
  18. abstract public function conn($host, $port, $pwd = "");
  19. /**
  20. * 查询/获取 指定 key 对应的value
  21. */
  22. abstract public function get($key);
  23. abstract public function set($key, $value, $ts = 0);
  24. /**
  25. * 取没有进行json编码的数据
  26. * @param type $key
  27. * @return type
  28. */
  29. abstract public function getWithoutJson($key);
  30. /**
  31. * 设置值,内部不加 json_encode
  32. * @param string $key
  33. * @param string $value
  34. * @param seconds $ts
  35. * @return boolean
  36. */
  37. abstract public function setWithoutJson($key, $value, $ts = 0);
  38. /**
  39. * 给某个指定数据 加上 指定的数值
  40. */
  41. abstract public function add($key, $value, $ts = 0);
  42. /**
  43. * 替换某条数据
  44. */
  45. abstract public function replace($key, $value, $ts = 0);
  46. /**
  47. * 删除某条指定的数据
  48. */
  49. abstract public function delete($key);
  50. /**
  51. * 给指定的key所对应的值增加1
  52. */
  53. abstract public function increment($key);
  54. /**
  55. * 一次取多个值
  56. */
  57. abstract public function getMulti($keys);
  58. /**
  59. * 一次设置多个值
  60. * @param array $dict [{"key":value},{"key":value}, ...]
  61. * @param int $expireTs 超时时间
  62. */
  63. abstract public function setMutlti($dict, $expireTs = 0);
  64. /**
  65. * Compare and set 比较并且(结果相同则)写入
  66. */
  67. abstract public function cas($key, $value, $ts);
  68. /**
  69. * 复制
  70. */
  71. abstract public function copy($surKey, $desKey);
  72. /**
  73. * 关闭连接
  74. */
  75. abstract public function close();
  76. }