Redis-3.0.503 常用操作-01

1.为什么说Redis是单线程的?

文件事件处理器

redis 内部使用了一个叫 文件事件处理器( file event handler)的东西,这个文件事件处理器是 单线程的,所以才有了 redis 是单线程的这一说法。

它包含 4 个部分:
  • 多个 socket
  • IO 多路复用程序
  • 文件事件分派器
  • 事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)

    文件事件处理器 采用 IO 多路复用机制 同时监听多个 socket,根据 socket 上的事件来选择对应的事件处理器进行处理。多个 socket 可能会并发产生不同的操作,每个操作对应不同的文件事件,但是 IO 多路复用程序 会监听多个 socket,会将 socket 产生的事件放入 队列 中排队,事件分派器 每次从队列中取出一个事件,把该事件交给对应的 事件处理器 进行处理。

      但是我们学习的时候,比如 Redis 的 bgsave 命令,它的作用是在后台异步保存当前数据库的数据到磁盘,那既然是异步了,肯定是由别的线程去完成的,这怎么还能说 Redis 是单线程的呢?

     其实通常说的 Redis 是单线程,主要是指 Redis 对外提供键值存储服务的主要流程,即网络 IO 和键值对读写是由⼀个线程来完成的。除此外 Redis 的其他功能,比如持久化、 异步删除、集群数据同步等,是由额外的线程执⾏的。


2.Redis连接命令

      如果修改过配置文件,需要在安装目录打开控制台,使用命令 redis-server.exe 配置文件名称 打开redis服务,再打开一个控制台,输入命令 redis-cli -p 端口号 进行连接。


3.Redis常用操作

1. keys * 用于查看当前数据库中的所有key

2. exists key 判断某个key是否存在

3. del key 删除指定key数据

4. unlink key 根据key选择非阻塞删除(将key从keysSpace元数据中删除,真正的删除会在后续异步操作,4.0版本之后才有)

5. type key 查看指定key是什么类型

6. expire key 秒数 为指定key设置过期时间,单位是秒

7. ttl key 查看指定key还有多久过期,-1表示永不过期,-2表示已经过期

8. select number 用于切换数据库,默认是0号,最大到15号

9. dbsize 查看数据库中的key数量

10. flushdb 清空当前数据库

11. flushall 清空所有数据库

posted @   别停  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示