consts.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. // Author: simon (ynwdlxm@163.com)
  2. // Date: 2025/5/26 13:51
  3. // Desc:
  4. package reply
  5. // PongReply 表示PONG响应,用于Redis协议的PONG响应
  6. type PongReply struct{}
  7. // ToBytes 将PONG响应转换为字节数组
  8. // 返回格式:"+PONG\r\n"
  9. func (p PongReply) ToBytes() []byte {
  10. return []byte("+PONG\r\n")
  11. }
  12. // NewPongReply 创建新的PongReply实例
  13. func NewPongReply() *PongReply {
  14. return &PongReply{}
  15. }
  16. // OkReply 表示OK响应,用于Redis协议的OK响应
  17. // 返回格式:"+OK\r\n"
  18. type OkReply struct{}
  19. // ToBytes 将OK响应转换为字节数组
  20. // 返回格式:"+OK\r\n"
  21. func (o OkReply) ToBytes() []byte {
  22. return []byte("+OK\r\n")
  23. }
  24. // NewOkReply 创建新的OkReply实例
  25. func NewOkReply() *OkReply {
  26. return &OkReply{}
  27. }
  28. // NoReply 表示NO响应,用于Redis协议的NO响应
  29. type NoReply struct{}
  30. // ToBytes 将NO响应转换为字节数组
  31. func (n NoReply) ToBytes() []byte {
  32. return []byte("")
  33. }
  34. // NewNoReply 创建新的NoReply实例
  35. func NewNoReply() *NoReply {
  36. return &NoReply{}
  37. }
  38. // NullBulkReply 表示NO响应,用于Redis协议的NO响应
  39. // 返回格式:"$-1\r\n"
  40. type NullBulkReply struct{}
  41. // ToBytes 将NO响应转换为字节数组
  42. // 返回格式:"$-1\r\n"
  43. func (n NullBulkReply) ToBytes() []byte {
  44. return []byte("$-1\r\n")
  45. }
  46. func NewNullBulkReply() *NullBulkReply {
  47. return &NullBulkReply{}
  48. }
  49. // EmptyMultiBulkReply 表示空的多批量回复,用于Redis协议的空的多批量回复(空数组)
  50. // 返回格式:"*0\r\n"
  51. type EmptyMultiBulkReply struct{}
  52. // ToBytes 将空的多批量回复转换为字节数组
  53. func (e EmptyMultiBulkReply) ToBytes() []byte {
  54. return []byte("*0\r\n")
  55. }
  56. func NewEmptyMultiBulkReply() *EmptyMultiBulkReply {
  57. return &EmptyMultiBulkReply{}
  58. }