redis存储数据的基本类型有:string(字符串类型)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。
依次做一些练习。redis命令不区分大小写。
key相关操作
127.0.0.1:6379> set key hello ## 设置 OK 127.0.0.1:6379> set key1 world OK 127.0.0.1:6379> keys ke* ## keys查询键名 1) "key1" 2) "key" 127.0.0.1:6379> del key1 ## 删除键值对 (integer) 1 127.0.0.1:6379> exists key ##查询键名是否存在 (integer) 1 ##存在返回1 127.0.0.1:6379> exists key1 (integer) 0 ##不存在返回0 127.0.0.1:6379> type key ##查询键值的类型 string
字符串类型
127.0.0.1:6379> exists num (integer) 0 127.0.0.1:6379> incr num ##incr一个不存在的值,先创建新值,赋值为0,再自增1.院子操作。 对应的是decr (integer) 1 127.0.0.1:6379> set key hello OK 127.0.0.1:6379> incr key ##无法对string自增 (error) ERR value is not an integer or out of range 127.0.0.1:6379> incrby num 3 ##increby增加指定的数值,对应的是decrby (integer) 4 127.0.0.1:6379> incrbyfloat num 0.7 ##增加浮点数 "4.7" 127.0.0.1:6379> append key " world!" ##append追加字符 (integer) 12 127.0.0.1:6379> get key "hello world!" 127.0.0.1:6379> strlen key ##strlen字符串长度 (integer) 12 127.0.0.1:6379> mget key num ## mget批量获取键值 1) "hello world!" 2) "4.7" 127.0.0.1:6379> mset key hi num 5.5 ##mset批量设置 OK 127.0.0.1:6379> mget key num 1) "hi" 2) "5.5" 127.0.0.1:6379> set foo bar OK 127.0.0.1:6379> getbit foo 1 ##getbit获取某一位二进制数值 (integer) 1 127.0.0.1:6379> setbit foo 22 0 ##设置修改位值 (integer) 1 127.0.0.1:6379> get foo ##修改成功 "bap" 127.0.0.1:6379> set foo bar OK 127.0.0.1:6379> set foo1 aar OK 127.0.0.1:6379> bitop or result foo foo1 ##bitop位操作 (integer) 3 127.0.0.1:6379> get result "car"
GETBIT key offset
SETBIT key offset value
BITCOUNT key [start] [end] 获取键值中值为1的二进制位个数,start和end表示字节位置
BITOP operation destkey key [key...] 对多个键值进行位运算,并将结果存储在destkey对应的键值中。支持的操作:AND、 OR、 XOR、 NOT。
GETSET key newValue 原子操作,设置新值,返回原来的值。如果原值不存在,返回nil。
SETEX key seconds value 设置键值对的失效时间是seconds秒。
SETNX key value put if absent, or do nothing。
SETRANGE key offset value 从index等于offset位置起,替换length(value)个字符,替换为value。如果offset超出范围,则中间补充0x00。
GETRANGE key start end 获取指定返回的字符串,闭区间。end超过长度,则取到字符串末尾。
MGET key [key ... ]
MSET key value [key value ... ]
MSETNX key value [key value ... ] 原子操作。如果在这一批Keys中有任意一个Key已经存在了,那么该操作将全部回滚,即所有的修改都不会生效。1表示全部设置成功;0表示都没有设置。










