一、CommandFlags 枚举
- None = 0; //默认
- HighPriority = 1; //不用了,废弃
- FireAndForget = 2; //对结果不感兴趣,调用者将会立即收到默认值
- PreferMaster = 0; //如果主服务器可用,则应在主服务器上执行此操作,但可以执行读操作
- DemandMaster = 4; //此操作只应在[主站]上执行
- PreferSlave = 8; //如果可用,则应在[从站]上执行此操作,但将在其上执行
- DemandSlave = 12; //此操作只应在[从站]上执行。 仅适用于读取操作。
- NoRedirect = 64; //表示由于ASK或MOVED响应,不应将此操作转发到其他服务器
- NoScriptCache = 512 //表示与脚本相关的操作应使用EVAL,而不是SCRIPT LOAD + EVALSHA
一般都使用默认值就可以,如果对性能有特殊的要求则可以分类处理,比如说读操作使用在从服务器上执行。写操作使用主服务器。如果对结果不敢兴趣可以使用FireAndForget, 效率非常高。
二、When 枚举
Always: 一直
Exists: 当key 存在时才生效
NotExists; 当key 不存在时才生效
三、RedisKey 结构
表示redis的键,实质是string
可以隐式装换为 string 与 byte[],并重写了与两者的比较。
Apend 方法 追加
Prepend 方法 追加到
四、RedisValue 结构
表示redis的值,实质是string 这个很重要比如说两个数字相加是字符串相加,不是数值相加
可以隐士转换为string 与byte[] ,int long 等整数型
Box 装箱
UnBox 拆箱
isInteger 属性,这个特别注意,所有从redis读取出来的值都是FALSE,他表示的是原始值是否是int,redis中都是string存储。所以都是false。
IsNull 是否是null
isNullOrEmpty 是null 或者是空字符串
HasValue 除上面三个之外的都是True
五、HashEntry 结构
用来表示从redis中hash数据中读取键值对
Name与Value都是RedisValue类型