Redis独立功能
一、发布与订阅
Redis的发布订阅功能由PUBLISH, SUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE等命令实现,客户端可以订阅一个或多个频道/模式,服务器根据是否订阅频道、模式是否匹配,决定是否发送给指定客户端消息。
Redis的发布订阅功能由PUBLISH, SUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE等命令实现,客户端可以订阅一个或多个频道/模式,服务器根据是否订阅频道、模式是否匹配,决定是否发送给指定客户端消息。
Redis中可以使用SLAVEOF <master_ip> <master_port>
实现主从复制,复制功能分两个操作:
Redis服务器将所有数据库都保存在服务器状态redis.h/redisServer结构的db数组中,db数组的每个项都是一个redis.h/redisDb结构,每个redisDb结构代表一个数据库。数组长度(数据库数量)由dbnum控制,默认有16个,通过SELECT
命令切换数据库。
RedisClient结构中的db属性指向当前所使用的数据库,SELECT命令原理即修改该指针。
Redis是一个键值对K-V数据库服务器,服务器中的每个数据库都由一个redis.h/redisDb结构表示,其中,redisDb结构的dict字典保存了数据库中的所有键值对,这个字典称为键空间(key space)。所有针对数据库中数据的操作本质上都是对键空间字典的操作,同时也会进行一些维护:
Redis中保存的Key是字符串,value往往是字符串或者字符串的集合。可见字符串是Redis中最常用的一种数据结构。不过Redis没有直接使用C语言中的字符串,而只会使用C字符串作为字面量,因为C语言字符串存在很多问题:
Redis构建了一种新的字符串结构,称为简单动态字符串(Simple Dynamic String),简称SDS。
Redis五大数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合) 和 zset(sorted set:有序集合)
提示
String是redis最基本的操作,一个key对应一个value str1 := "hello"
String类型是二进制安全的。除普通的字符串外,也可以存放图片等数据
redis中字符串value最大是512M