一、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
类型