【Redis】基础知识、常用命令

本文介绍了Redis作为一个内存数据结构存储系统,主要用于数据库、缓存和消息中间件。它支持多种数据结构并具备复制、Lua脚本、事务等功能。文章强调Redis的单线程模型在内存操作中的高效性,并详细讲解了数据库切换、大小查看、Key的设置、过期时间管理等常用操作。此外,还提到了Redis的清空数据库、Key类型检查及移动等实用功能。

Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询,bitmaps,hyperloglogs 和地理空间(geospatial) 索引半径查询。

Redis 内置了复制(replication),LUA脚本(Lua scripting),LRU驱动事件(LRU eviction),事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redis哨兵(Sentinel)和自动 分区(Cluster)提供高可用性(high availability)。

一、redis是单线程

redis是基于内存操作的,cpu并不是redis的性能瓶颈,它的瓶颈取决于机器的内存和网络带宽,所以能用单线程实现那就用单线程好了。

那么为什么用单线程还能这么快?

首先有2个误区先要明确:

  • 高性能的服务器不一定是多线程的。
  • 多线程也不是一定比单线程效率高。

redis是将所有的数据放到内存里去,多线程的话反而会存在cpu切换上下文从而增加耗时,而对内存系统来说,没有上下文的切换,单线程操作效率就是最高的。

二、关于数据库的常用操作

1. 默认数据库

redis默认有16个数据库,默认使用是第一个数据库(下标为0)。可以查看下配置文件,里面有database 16

2. 切换数据库

select 3,可以切换到第4个数据库。

3. 查看数据库大小

dbsize可以查看当前数据库大小。

这时,给数据库里set一个值,再次查看数据库大小,就变化了。

4. 清空数据库

清空当前的数据库

flushdb

清空所有的数据库

flushall

三、关于Redis-Key的常用操作

1. set 设置key 和 value
set name pingguo222
2. keys * 查看所有的key

可以查看所有的key。这里切换回默认的数据库,查看所有key。

keys *

3. get key 的 value
get name

4. exists key 是否存在key
exists name

存在,则返回1,不存在则返回0。

5. move 移动 key

MOVE 命令是将当前数据库的 key 移动到给定的数据库 db 当中。

move name 0

比如当前所在3数据库,命令是 把当前3数据库下的name移动到 0数据库下。如果成功了返回1,失败了返回0。

6. 设置key过期时间

我设置age 10s后过期,等10s后再次get就拿不到值了。

expire age 10

7. 查看key的剩余时间

我设置name过期时间100s,使用ttl查看。

ttl name

8. 查看key的类型
type name

命令实际上有很多,官网提供了查询命令的地方,后面啥不会就查啥。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值