Redis学习(二)——基本命令操作

在线测试redis命令网址

https://try.redis.io/?_ga=2.122075523.965010314.1594890063-693923878.1594798892

Redis命令

启动命令

redis-server

连接命令

redis-cli

该命令会连接本地的 redis 服务

redis-cli -h host -p port -a password

该命令可连接远程redis服务
注意 远程连接redis服务时远程redis服务配置bind需要注释
如果出现乱码情况使用一下命令连接

redis-cli --raw

Redis 键(key)

命令描述测试
del key_name删除某个key成功返回1失败返回0在这里插入图片描述
dump key_name序列化给定 key ,并返回被序列化的值在这里插入图片描述
exists key_namekey 是否存在在这里插入图片描述
EXPIRE key secondskey 设置过期时间,以秒计在这里插入图片描述
EXPIREAT key timestampEXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳
PEXPIRE key millisecondskey 的过期时间以毫秒计
PEXPIREAT key milliseconds-timestamp设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
KEYS pattern查看key的列表在这里插入图片描述
PERSIST key移除 key 的过期时间,key 将持久保持
PTTL key以毫秒为单位返回 key 的剩余的过期时间
TTL key以秒为单位,返回给定 key 的剩余生存时间
TYPE key返回 key 所储存的值的类型在这里插入图片描述

Redis 字符串(String)

命令描述
SET key value指定key的值
get key获得key的值
GETSET key valuekey 的值设为 value ,并返回 key 的旧值
SETEX key seconds value将值 value 关联到 key ,并将 key 的过期时间设为 seconds
SETNX key value只有在 key 不存在时设置 key 的值

只列出几个常用的其他的略

Redis 哈希(Hash)

命令描述
HDEL key field1 [field2]删除一个或多个哈希表字段
HEXISTS key field查看哈希表 key 中,指定的字段是否存在
HGET key field获取存储在哈希表中指定字段的值
HGETALL key获取在哈希表中指定 key 的所有字段和值
HKEYS key获取所有哈希表中的字段
HMSET key field1 value1 [field2 value2 ]同时将多个 field-value (域-值)对设置到哈希表 key 中
HSET key field value将哈希表 key 中的字段 field 的值设为 value
HSETNX key field value只有在字段 field 不存在时,设置哈希表字段的值

Redis 列表(List)

命令描述测试
BRPOP key1 [key2 ] timeout移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止在这里插入图片描述
blpop和上面一致只不过是第一个元素
LINDEX key index通过索引获取列表中的元素在这里插入图片描述
LPUSH key value1 [value2]将一个或多个值插入到列表头部
rpush与上面一致插入尾部
lpushx key value1 [value2]往已存在的列表插入数据不存在则返回0在这里插入图片描述
LLEN key获取列表长度在这里插入图片描述
LRANGE key start stop获取列表指定范围内的元素在这里插入图片描述
LSET key index value通过索引设置列表元素的值在这里插入图片描述

列表命令中L 和R分开代表头部和尾部

Redis 集合(Set)

命令描述测试
SADD key member1 [member2]向集合添加一个或多个成员
SDIFF key1 [key2]返回给定所有集合的差集在这里插入图片描述
SDIFFSTORE res key1 [key2]返回给定所有集合的差集并存储在 res 中在这里插入图片描述
SINTER key1 [key2]返回给定所有集合的交集在这里插入图片描述
SINTERSTORE res1 key1 [key2]返回给定所有集合的交集并存储在 res1 中
SISMEMBER key member判断 member 元素是否是集合 key 的成员在这里插入图片描述
SMEMBERS key返回集合所有成员
SUNION key1 [key2]得到集合并集在这里插入图片描述
SUNIONSTORE res2 key1 [key2]得到并集并存到res2中

Redis 有序集合(sorted set)

我只选了几个我自己常用的命令

命令描述测试
ZADD key score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数在这里插入图片描述
ZREM key member [member …]移除某个成员
ZRANGE key start stop [WITHSCORES]返回分数升序前几名成员在这里插入图片描述
ZRANK key member升序返回成员排名
ZREVRANK key member降序返回成员排名

其实在redis sorted sets里面当items内容大于64的时候同时使用了hash和skiplist两种设计实现。这也会为了排序和查找性能做的优化。所以如上可知:
添加和删除都需要修改skiplist,所以复杂度为O(log(n))。
但是如果仅仅是查找元素的话可以直接使用hash,其复杂度为O(1)
其他的range操作复杂度一般为O(log(n))
当然如果是小于64的时候,因为是采用了ziplist的设计,其时间复杂度为O(n)

其他

本人QQ:806751350
github地址:https://github.com/linminlm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值