Redis基本命令(一)
2017-08-22 19:57
239 查看
keys 命令
列表类型
? 匹配一个字符 * 匹配任意个(包括0个)字符 [] 匹配括号间的任一个字符,可以使用 "-" 符号表示一个范围,如 a[b-d] 可以匹配 "ab","ac","ad" \x 匹配字符x,用于转义符号,如果要匹配 "?" 就需要使用 \?
判断一个键值是否存在
exists key 如果存在,返回整数类型 1 ,否则返回 0
删除键
del key [key.....] 可以删除一个或多个键,返回值是删除的键的个数 注意:不支持通配符删除
获得键值的数据类型
type key 返回值可能是 string(字符串类型) hash(散列类型) list(列表类型) set(集合类型) zset(有序集合类型)
赋值与取值
set key value 赋值 get key 取值
递增数字
incr key 当存储的字符串是整数形式时,redis提供了一个使用的命令 incr 作用是让当前的键值递增,并返回递增后的值 incr num 当要操作的键不存在时会默认键值为 0 ,所以第一次递增后的结果是 1 ,当键值不是整数时 redis会提示错误
增加指定的整数
incrby key increment incrby 命令与 incr 命令基本一样,只不过前者可以通过 increment 参数指定一次增加的数值如: incrby num 2 incrby num 3
减少指定的整数
decr key decrby key increment desc 命令与incr 命令用法相同,只不过是让键值递减 decrby 命令与 incrby命令用法相同
增加指定浮点数
incrbyfloat key increment incrbyfloat 命令类似 incrby 命令,差别是前者可以递增一个双精度浮点数,如: incrbyfloat num 2.7 注意: ( 受reids 版本限制,版本需要大于 2.6 版本)
向尾部追加值
append key value 作用是向键值的末尾追加 value ,如果键不存在则将改键的值设置为 value,即相当于 set key value。返回值是追加后字符串的长度 如:append foo " hello word!"
获取字符串长度 strlen key 返回键值的长度,如果键不存在则返回0 同时 获得/设置 多个键值
mget key [key.....] mset key value [key value .......]
位操作
getbit key offset
setbit key offset value
bitcount key [strart] [end]
bitop operation destkey key [key .....]
一个字节由8个二进制位组成,redis 提供了4个命令直接对二进制位进行操作
getbit 命令可以获得一个字符串类型键指定位置的二进制位的值(0 或 1),索引从 0 开始,如果需要获取的二进制位的索引超出了键值
的二进制位的实际长度则默认位值是 0
setbit 命令可以设置字符串类型键指定位置的二进制位的值,返回值是该位置的旧值,如果需要设置的位置超过了键值的二进制位的长
度,setbit 命令会自动将中间的二进制位设置为0,同理设置一个不存在的键的指定二进制位的值会自动将其前面的位赋值为 0
bitcount 命令可以获得字符串类型键中值是1的二进制位个数,可以通过参数来限制统计的字节范围,如我们希望统计前两个字节(即
"aa") 命令:bitcount foo 0 1 注意: ( 受reids 版本限制,版本需要大于 2.6 版本)
bittop 命令可以对多个字符串类型键进行位运算,并将结果存储在destkey参数指定的键中。该命令支持的运算操作有 AND、 OR、
XOR、 NOT,
如我们对bar 和 aar 进行 OR 运算操作:
set foo1 bar
set foo2 aar
bitop OR res foo1 foo2
get res
注: ( 受reids 版本限制,版本需要大于 2.6 版本)
散列类型
赋值与取值
hset key field value hget key field hmset key field value [ field value ...... ] hmget key field [ field ...... ] hgetall key hset 命令用来给字段赋值,而hget命令用来获得字段的值 hset 命令的方便之处在于不区分插入和更新操作,这意味着修改数据时不用事先判断字段是否存在来决定要执行的是插入操作还是更新操 作,当执行的是插入操作时, hset 命令返回 1 ,当执行的是更新操作时,hset 命令返回的是 0 ,当键本身不存在时, hset 命令还会 自动建立他 hmset 设置多个键值 hmget 获得多个键值 hgetall 获取键中所有字段和字段值却不知道键中有哪些字段时使用,返回的结果是字段和字段值组成的列表
判断字段是否存在
hexists key field 存在返回 1 ,否则返回 0
当字段不存在时赋值
hsetnx key field value hsetnx 命令与hset 命令类似,区别在于如果字段已经存在,hsetnx 命令将不执行任何操作
增加数字
hincrby key field increment 使字段值增加指定的整数
删除字段
hdel key field [ field .....] 删除一个或多个字段,返回值是被删除的字段个数
只获取字段名或字段值 hkeys key hvals key hkeys 获取所有字段的名字 hvals 获得键中所有字段的值 获得字段数量
hlen key
列表类型
向列表两端增加元素
lpush key value [ value ....... ] rpush key value [ value ....... ] lpush 命令用来向列表左边增加元素,返回表示增加元素后列表的长度 rpush 命令用来向列表右边增加元素,返回表示增加元素后列表的长度
从列表两端弹出元素
lpop key rpop key lpop 命令可以从列表左边弹出一个元素,lpop 命令执行两步操作,1:将列表左边的元素从列表中移除,2:返回被移除元素值 rpop 命令可以从列表右边弹出一个元素
获取列表中元素个数
llen key 当键不存在时,llen 返回 0
获得列表片段 lrange key start stop 获得列表中的某一片段,返回索引从 start 到 stop 之间的所有元素(包括两端的元素) 索引开始为 0 注:lrange 与很多语言中用来截取数组片段的方法有一点区别是 lrange 返回的值包含最右边的元素 lrange 命令也支持负索引,表是从右边开始计算序数,如 ' -1 ' 表示最右边第一个元素, ' -2 ' 表示最右边第二个元素,一次类推 删除列表中指定的值
lrem key count value lrem 命令会删除列表中前 count 个值为 value 的元素,返回值是实际删除的元素个数。根据count 值的不同,lrem 命令执行的方式会 略有差异 当 count > 0 时,lrem 命令会从列表左边开始删除前 count 个值为 value 的元素 当 count < 0 时,lrem 命令会从列表右边开始删除前count 个值为 value 的元素 当 count = 0 时,lrem 命令会删除所有值为value的元素
获得 / 设置 指定索引的元素值
lindex key index lset key index value lindex 命令用来返回指定索引的元素,索引从 0 开始 ,如果 index 是负数则表示从右边开始计算的索引,最右边元素的索引是 -1 lset 是通过索引操作列表的命令,它会将索引为 index 的元素赋值为 value
只保留列表指定片段
ltrim key start end ltrim 命令可以删除指定索引范围之外的所有元素,其指定列表范围的方法和 lrange 命令相同 ltrim 命令常和 lpush 命令一起使用来限制列表中元素的数量,比如记录日志时我们希望只保留最近的 100 条日志,则每次加入新元素时 调用一次ltrim 命令即可;
向列表中插入元素
linsert key before | after pivot value linsert 命令首先会在列表中从左到右查找值为 pivot 的元素,然后根据第二个参数是 before 还是 after 来决定将 value 插入到该元素的 前面还是后面,如果命令执行成功,返回插入操作完成之后列表的长度。如果没有找到 pivot 返回 -1 如果key 不存在或为空,返回 0
将元素从一个列表转到另一个列表R
rpoplpush source destination rpoplpush 先执行 rpop 命令在执行 lpush 命令。rpoplpush 命令先会从source 列表类型键的右边弹出一个元素,然后将其加入到 destination 列表类型键的左边,并返回这个元素的值,整个过程是原子的
相关文章推荐
- Redis入门级指南---客户端命令基本操作
- [转]PHP Redis基本命令查找
- Redis~安装和基本命令
- Redis的基本命令
- redis学习教程之一基本命令
- Redis数据库的基本命令和java连接
- [redis管理] 之 基本命令
- K-V数据库-Redis的基本命令及配置文件参数详解
- redis基本命令学习-收藏
- redis安装与基本命令入门
- Redis基本数据类型及命令
- redis学习笔记(14)---redis基本命令总结
- redis基本数据类型和常用命令操作
- Redis入门——安装与基本命令
- Redis起步安装及基本命令--JAVA(系列文章一)
- 在linux系统安装redis和基本命令
- redis基本操作命令
- redis学习教程之一基本命令
- redis基本和命令
- redis基本命令