Redis三(数据类型-常用命令)

允我心安 提交于 2020-03-12 14:23:05

数据类型

字符串 string, 哈希 hash, 链表 list, 集合 set, 排序集合 zset

字符串(string)

数据为字符串. 保存方式是二进制数据. 二进制数据是可以指定长度的,无结束标记的数据.

数据长度有限制: 512M

哈希(hash)

数据为哈希表. 类似java中的Map.

键值对存储结构类似java中的Map<String, Map<String, String>>

链表(list)

数据为一个有序的链表集合

键值对存储结构类似java中的Map<String, List<String>>

集合(set)

数据为一个无下标的集合, 数据不重复

数据结构类似java中的Map<String, Set<String>>

排序集合(zset)

数据为一个可排序的集合. 数据不重复

数据结构类似java中的Map<String, SortedSet<String>>

排序规则为字符串对应的二进制数据的大小排序.

通用命令

keys

查询当前redis中的key值, 例如:

keys * 

注意: 测试时可以使用 keys *, 实际环境中慎用. 因为keys *会导致Redis暂时被锁住,其他的请求都会被阻塞,对于业务体量比较小的,倒是无关痛痒,但是当业务量达到百万千万级别的时候,这个会造成Redis崩溃,从而导致其他的业务崩溃。

incr

incr - increment 自增

incr key

要求key对应的数据, 必须是数学数据. value字符串必须可以转换为数字. 如果key不存在,则自动增加一个键值对, value为1.

decr

decr - decrement 自减

decr key

要求key对应的数据,必须是数学数据. value字符串必须可以转换为数字. 如果key不存在,则自动增加一个键值对, value为-1.

incrby

incrby - increment by

incrby key 数字

要求key对应的数据,必须是数学数据. 使用指定步长,实现数据递增. 如果key不存在, 则自动增加一个键值对, value为0

decrby

decrby - decrement by

decrby key 数字

要求key对应的数据,必须是数学数据. 使用指定步长,实现数据递减. 如果key不存在, 则自动增加一个键值对, value为0

incrbyfloat

incrbyfloat key 浮点数

要求key对应的数据,必须是数学数据. 使用指定步长,实现数据递增和递减. 如果key不存在, 则自动增加一个键值对, value为0

expire

设定有效时长. 键值对在redis中保存的时长.

expire key seconds

设定指定key的有效时长为多少秒

ttl

查看有效时长剩余时间.

ttl key

返回正数 : 剩余有效时长为多少秒

返回-1 : 代表永久保存

返回-2 : 代表无key对应的键值对

persist

取消有效时长

persist key

info

查看redis信息. information

select

切换数据库. 通过数据库编号切换库. 默认16个库, 编号0~15

select 数据库编号

flushdb

清空当前使用的database.

flushall

清空所有的数据库

quit

退出连接

字符串命令

新增+修改

set key value

设置一个键值对. 如果key不存在,则新增, key存在则修改.

查询

get key

通过一个key,获取value. 如果key不存在,返回nil

删除

del key [ key2 key3 ...]

通过一个key,删除键值对. 也可以实现批量删除.

批量删除 del key1 key2 key3 ….

del也是通用命令. 可以删除任意类型的数据

批量新增 + 批量修改

mset key1 value1 key2 value2 ...

命令参数必须成对出现.

批量查询

mget key1 key2 key3 ...

哈希命令

新增数据 + 修改数据

hset key field value

新增一个数据. key键值, field是属性|字段值, value数据值

查询数据

hget key field

通过key和field获取value数据

删除一个field-value数据

hdel key field

通过key和field删除数据

如果删除key对应所有field-value对,则key自动删除.

批量新增+批量修改

hmset key field1 value1 field2 value2 ...

要求field和value成对出现.

批量查询

hmget key field1 field2 ...

查看所有的filed

hkeys key

通过key数据,查看对应所有field值

查看所有的value

hvals key

通过key数据,查看所有的value.

查看所有的field-value对

hgetall key
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!