Documentation
¶
Overview ¶
Package rdb implements parsing and encoding of the Redis RDB file format.
Index ¶
- Constants
- func Decode(r io.Reader, d Decoder) error
- func DecodeDump(dump []byte, db int, key []byte, expiry int64, d Decoder) error
- type Decoder
- type Encoder
- func (e *Encoder) EncodeDatabase(n int) error
- func (e *Encoder) EncodeDumpFooter() error
- func (e *Encoder) EncodeExpiry(expiry uint64) error
- func (e *Encoder) EncodeFloat(f float64) (err error)
- func (e *Encoder) EncodeFooter() error
- func (e *Encoder) EncodeHeader() error
- func (e *Encoder) EncodeLength(l uint32) (err error)
- func (e *Encoder) EncodeString(s []byte) error
- func (e *Encoder) EncodeType(v ValueType) error
- type ValueType
Constants ¶
View Source
const Version = 6
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Decoder ¶
type Decoder interface {
// StartRDB is called when parsing of a valid RDB file starts.
StartRDB()
// StartDatabase is called when database n starts.
// Once a database starts, another database will not start until EndDatabase is called.
StartDatabase(n int)
// AUX field
Aux(key, value []byte)
// ResizeDB hint
ResizeDatabase(dbSize, expiresSize uint32)
// Set is called once for each string key.
Set(key, value []byte, expiry int64)
// StartHash is called at the beginning of a hash.
// Hset will be called exactly length times before EndHash.
StartHash(key []byte, length, expiry int64)
// Hset is called once for each field=value pair in a hash.
Hset(key, field, value []byte)
// EndHash is called when there are no more fields in a hash.
EndHash(key []byte)
// StartSet is called at the beginning of a set.
// Sadd will be called exactly cardinality times before EndSet.
StartSet(key []byte, cardinality, expiry int64)
// Sadd is called once for each member of a set.
Sadd(key, member []byte)
// EndSet is called when there are no more fields in a set.
EndSet(key []byte)
// StartList is called at the beginning of a list.
// Rpush will be called exactly length times before EndList.
// If length of the list is not known, then length is -1
StartList(key []byte, length, expiry int64)
// Rpush is called once for each value in a list.
Rpush(key, value []byte)
// EndList is called when there are no more values in a list.
EndList(key []byte)
// StartZSet is called at the beginning of a sorted set.
// Zadd will be called exactly cardinality times before EndZSet.
StartZSet(key []byte, cardinality, expiry int64)
// Zadd is called once for each member of a sorted set.
Zadd(key []byte, score float64, member []byte)
// EndZSet is called when there are no more members in a sorted set.
EndZSet(key []byte)
// EndDatabase is called at the end of a database.
EndDatabase(n int)
// EndRDB is called when parsing of the RDB file is complete.
EndRDB()
}
A Decoder must be implemented to parse a RDB file.
type Encoder ¶
type Encoder struct {
// contains filtered or unexported fields
}
func NewEncoder ¶
func (*Encoder) EncodeDatabase ¶
func (*Encoder) EncodeDumpFooter ¶
func (*Encoder) EncodeExpiry ¶
func (*Encoder) EncodeFloat ¶
func (*Encoder) EncodeFooter ¶
func (*Encoder) EncodeHeader ¶
func (*Encoder) EncodeLength ¶
func (*Encoder) EncodeString ¶
func (*Encoder) EncodeType ¶
type ValueType ¶
type ValueType byte
const ( TypeString ValueType = 0 TypeList ValueType = 1 TypeSet ValueType = 2 TypeZSet ValueType = 3 TypeHash ValueType = 4 TypeHashZipmap ValueType = 9 TypeListZiplist ValueType = 10 TypeSetIntset ValueType = 11 TypeZSetZiplist ValueType = 12 TypeHashZiplist ValueType = 13 TypeListQuicklist ValueType = 14 )
Directories
¶
| Path | Synopsis |
|---|---|
|
Package crc64 implements the Jones coefficients with an init value of 0.
|
Package crc64 implements the Jones coefficients with an init value of 0. |
|
This is a very basic example of a program that implements rdb.decoder and outputs a human readable diffable dump of the rdb file.
|
This is a very basic example of a program that implements rdb.decoder and outputs a human readable diffable dump of the rdb file. |
Click to show internal directories.
Click to hide internal directories.