查看是否运行正常
# ping 返回 PONG
统计server
# info server # info
查看当前数据库得key数量
# dbsize
切换库命令
# select index
获得 redis 的配置值
# config get parameter
查询数据库得个数 一般为16 个
# config get databases
获取端口号
# config get port
获取所有参数配置
# config get *
删除所有库得数据
# flushall 删除当前库 # flushdb
退出
# exit 或者 quit
key
查询所有key
# keys *
查询key是否存在
# exists key...
设置key得生存时间
# expire key seconds
查看key剩余存在得时间
# ttl key -1 永不 -2 不存在
查看key存储得值得数据类型
# type key
删除存在得key
# del key...
修改key名字
# rename key
五种数据类型
字符串 string
将字符串值value设置到key中 # set key value 得到key中得值 # get key 将key中存储得值+1 如果key不存在,则先初始化key的value为0再执行 只能对数字类型字符串 # incr key 将key中存储得值-1 如果key不存在,则先初始化key的value为0再执行 只能对数字类型字符串 # decr key 指定key的值每次增长指定值 # incrby key 10 指定key的值每次减去指定值 # decrby key 10 如果key存在,则将value追加到旧值得末尾,不存在直接设置为value 返回值为value # append key value 返回key存储得字符串值长度 存在则返回长度 不存在返回0 # strlen key 获取指定索引得字符串可以有正序也可以倒序 倒序为负数 # gettrange key start end 用value 替换key得存储得值 从offset开始 不存在得key做空白 返回值为修改后得字符串 # setrange key offset value 设置多个k-v值 # mset key value... 获取多个key # mget key ..
应用场景:自增主键,商品编号,订单string得递增数字特性 定义商品编号key:items:id
哈希类型hash
将哈希表 key中的域field 的值设为value如果key不存在则新建hash表执行赋值如果有 field,则覆盖值。 # hset person id 9527 name zhouxingxing age 55 hobby movie 获取哈希表 key 中给定域 field 的值 # hget person name 同时将多个 field-value (域-值)设置到哈希表 key 中,此命令会覆盖已经存在的 field # hmset student id 111 name zhangsan age 18 address chengdu 获取哈希表 key 中一个或多个给定域的值 # hmget student id name age address 获取哈希表 key 中所有的域和值 # hgetall key 删除哈希表 key 中的一个或多个指定域 field,不存在 field 直接忽略 返回值:成功删除的 field 的数量 # hdel student age name 获取哈希表 key 中域 field 的个数 # hlen key 查看哈希表 key 中的所有 field 域 # hkeys key 返回哈希表 中所有域的值 # hvals key 查看哈希表 key 中,给定域 field 是否存在 # hexists key field
应用场景:存储商品信息 商品字段id 名称... 定义商品信息得key [items:1001]
列表类型list
列表类型(list)可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的某一个片段。
将一个或多个值 value 插入到列表 key 的表头(最左边),从左边开始加入值,从左 到右的顺序依次插入到表头 # lpush key value [value…] 将一个或多个值 value 插入到列表 key 的表尾(最右边),各个 value 值按从左到右 的顺序依次插入到表尾 # rpush key value [value…] 获取列表 key 中指定区间内的元素,0 表示列表的第一个元素,以 1 表示列表的第 二个元素;start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一 个元素, -2 表示列表的倒数第二个元素,以此类推。 start ,stop 超出列表的范围 不会出现错误。 # lrange key start stop 移除并返回列表 key 头部第一个元素,即列表左侧的第一个下标值。相当于栈(stack) 返回值:列表左侧第一个下标值; 列表 key 不存在,返回 nil # lpop key 移除并返回 key 的尾部元素 # rpop key 获取列表 key 中下标为指定 index 的元素,列表元素不删除,只是查询。0 表示列 表的第一个元素,以 1 表示列表的第二个元素;start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。 # lindex key index 获取列表 key 的长度 # llen key 根据参数 count 的值,移除列表中与参数 value 相等的元素, count >0 ,从列表的 左侧向右开始移除; count < 0 从列表的尾部开始移除;count = 0 移除表中所有 与 value 相等的值 # lrem key count value 删除指定区域外的元素,比如 LTRIM list 0 2 ,表示只保留列表 list 的前三个元素, 其余元素全部删除。0 表示列表的第一个元素,以 1 表示列表的第二个元素;start , stop 是列表的下标值,也可以负数的下标, -1 表示列表的最后一个元素, -2 表示 列表的倒数第二个元素,以此类推。 # ltrim key start stop 将列表 key 下标为 index 的元素的值设置为 value。 # lset key index value 将值 value 插入到列表 key 当中位于值 pivot 之前或之后的位置。key 不存在,pivot 不在列表中,不执行任何操作。 # linsert key BEFORE|ALFTER pivot value
应用:商品评论列表
集合类型set
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member元素将被忽略,不会再加入 # sadd key member [member…] 获取集合 key 中的所有成员元素,不存在的 key 视为空集合 # smembers key 判断 member 元素是否是集合 key 的成员 # sismember key member 获取集合里面的元素个数 # scard key 删除集合 key 中的一个或多个 member 元素,不存在的元素被忽略。 # srem key member [member…] 只提供 key,随机返回集合中一个元素,元素不删除,依然在集合中;提供了 count 时,count 正数, 返回包含 count 个数元素的集合, 集合元素各不相同。count 是负 数,返回一个 count 绝对值的长度的集合, 集合中元素可能会重复多次。 # srandmember key [count] 随机从集合中删除一个元素, count 是删除的元素个数。 # spop key [count] ...
不重复得对象数据
有序集合类型zset
将一个或多个 member 元素及其 score 值加入到有序集合 key 中,如果 member # zadd key score member [score member…] 查询有序集合,指定区间的内的元素。集合成员按 score 值从小到大来排序。 start, stop 都是从 0 开始。0 是第一个元素,1 是第二个元素,依次类推。以 -1 表示最后一 个成员,-2 表示倒数第二个成员。WITHSCORES 选项让 score 和 value 一同返回。 # zrange key start stop [WITHSCORES] 返回有序集 key 中,指定区间内的成员。其中成员的位置按 score 值递减(从大到小) 来排列。其它同 zrange 命令。 # zrevrange key start stop [WITHSCORES] 删除有序集合 key 中的一个或多个成员,不存在的成员被忽略 # zrem key member [member…] 获取有序集 key 的元素成员的个数 # zcard key 获取有序集 key 中,所有 score 值介于 min 和 max 之间(包括 min 和 max)的成 员,有序成员是按递增(从小到大)排序。 min ,max 是包括在内 , 使用符号 ( 表示不包括。 min , max 可以使用 -inf , +inf 表示最小和最大 limit 用来限制返回结果的数量和区间。 # zrangebyscore key min max [WITHSCORES ] [LIMIT offset count] 返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有 # zrevrangebyscore key max min [WITHSCORES ] [LIMIT offset count] 增加新的数据: # limit 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max ) # zcount key min max
应用 商品销售排行