Redis连接相关命令
Redis 连接命令主要是用于连接 redis 服务,并检测服务是否在运行:
--查看服务是否运行
ping
//控制台打印pong 表示服务器正常运行
//否则返回一个连接错误(eg: Connection refused)
--验证密码是否正确
auth password
//密码匹配返回ok,不匹配返回一个错误
--打印字符串
echo message
//返回字符串本身
--关闭当前的连接
quit
//关闭与当前客户端与redis的连接,总是返回ok
//如果有等待中的回复,所有恢复顺利写入客户端后,连接关闭
--切换制定数据库
select index
//总是返回OK;
//数据库索引index用数字值指定,以0为起始索引值
Redis中键(key)常用命令与介绍
Redis 键命令用于管理 redis 的键。
-- 当key存在时删除key键
del key
//key是一个键,删除成功返回(integer)1,删除失败返回(integer)0;
-- 序列化给定的key
dump key
//返回nil表示key不存在,否则返回被序列化的值
--检查key是否存在
exists key
//存在返回(integer)1,不存在返回(integer)0
-- 给key设置过期时间.key过期之后将不可再用
expire key (seconds)
// 成功返回(integer)1,key不存在或者失败返回(integer)0
expireat key timestamp
//与expire相似,设置key的过期时间,但是expireat接受的时间参数是时间戳;
pexpire key milliseconds
//与expire相似,以毫秒设置过期时间
pexpire key milliseconds-timestamp
//与expire相似,以毫秒级时间戳设置过期时间;
--查找所有符合给定模式的key
key key*
//返回以key开头的键, <没有以key开头的键返回>
--移动key至某数据库
move key db
//将当前数据库key移动到db数据库中,成功返回1,失败返回0
--移除key的过期时间
persist key
//移除key设置的过期时间,key保持永久。移除成功返回 1,如果key不存在或key没有设置过期时间,返回 0 。
--返回key的过期时间
pttl key
//以毫秒的形式返回key的过期时间,如果key不存在返回-2,存在但是没有设置过期时间返回-1,否则返回剩余生存时间
ttl key
//以秒的形式返回key的剩余时间,返回同上
--随机返回当前数据库一个key
randomkey
//数据库不为空的时候返回一个key,为空时返回nil,Windows返回null
--修改key名称
rename key newkey
//修改key的新名字为newkey,改名成功返回OK,失败返回一个错误。
//返回错误的情况:如果key和newkey名称一样,返回错误;key不存在返回错误;
//newkey存在时会覆盖原先旧值;
renamenx key newkey
//仅当newkey不存在时,修改key的名称;
//成功返回1,如果newkey存在返回0
-- 返回key存储的值的类型
type key
//返回类型:none(key不存在),string(字符串),list(列表),set (集合),zset (有序集),hash (哈希表)
--迭代数据库中的数据库键
scan cursor [match pattern] [count num]
//scan是一个基于游标的迭代器,每次调用的时候都会返回一个新的游标,用户在下次迭代时使用新的游标作为scan的游标参数,来延续之前的迭代;
# sscan用于迭代集合健的元素
# hscan用于迭代哈希健值的键值对;
# zscan用于迭代有序集合中的元素
# 返回值是数组列表,新游标为0表示迭代错误
Redis 列表相关命令
- redis列表是简单的字符串列表,按照插入顺序进行排列,可以添加元素到列表的头部或者是尾部。
- 一个列表最多可以添加2^ 32-1个元素
--获取列表长度
llen key
//返回列表的长度。如果列表不存在,在key为一个空列表,返回0;如果key不是一个列表,则返回错误。
--通过索引获取列表元素
lindex key index
//可以使用负数下标,-1表示最后一个元素,-2表示列表倒数第二个元素,以此类推;
//如果索引值不存在列表区间范围内,则返回nil;
//列表中下标为指定索引值的元素;
--移除并获取列表的元素
blpop key1 [key2] timeout
//移除并返回列表的第一个元素,如果列表没有元素会阻塞列表直到超时或者是发现可以弹出元素
//如果一段时间里没有弹出任何元素会返回nil和等待时长
//如果弹出两个元素的一个列表,那么第一个元素是所属key,第二个元素是被弹出的元素值
brpop key1 [key2] timeout
//移除并返回列表的最后一个元素,如果列表没有元素会阻塞列表知道超时或是发现可以弹出元素;
brpoplpush list1 reciver_list timeout
//取出列表中的最后一个元素放到另一个列表的头部;
//如果列表没有元素会阻塞列表或者直到有元素可以被取出;
//如果等待一段时间后没有取出元素那么就会返回nil和等待时长,如果返回两个元素的列表那么会返回取出的元素和等待时长
rpoplpush list1 reciver_list2
//移除列表的最后一个元素,并将该元素添加到另一个列表并返回
lpop key
//返回列表的第一个元素,如列表key不存在时,则返回nil
rpop key
//移除列表的最后一个元素,并返回该元素;
//如果列表存在返回被移除的元素,如果列表不存在,返回nil
lrem key count value
//移除列表元素
--插入元素
linsert key before|after pivot value
//在列表的元素前或者后插入元素
lpush key value1 [value2]
//将一个或多个值插入到列表头部
lpushx key value
//将一个值插入到已存在的列表头部
--查找列表元素
lrangel key start stop
//获取列表指定范围内的元素
lset key index value
//通过索引设置列表元素的值
ltrim key start stop
//让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
rpush key value1 [value2]
//在列表中添加一个或多个值
rpushx key value
//为已存在的列表添加值