掘友等级
获得徽章 0
#每天一个知识点# Redis 为什么采用单线程呢?首先要明确的是 Redis 单线程指的是网络 IO和键值对读写是由一个线程来完成的,但 Redis 持久化、集群数据等是由额外的线程执行的。
#每天一个知识点# 【Redis基础命令】
1、FLUSHALL:清空整个 Redis 服务器的数据(删除所有数据库的所有 key ),此命令只有成功,没有失败,所以需要慎用。
2、FLUSHDB:清空当前数据库中的所有 key,此命令只有成功,没有失败,所以需要慎用。
这两个命令在生产线上环境中都需要禁止使用。
#每天一个知识点# 【Redis命令QUIT】请求服务器关闭与当前客户端的连接。一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。在很多工具中,无论是数据库还是一些其他软件,这个命令很常用。理论上,这个命令总是返回 OK (但是不会被打印显示,因为当时 Redis-cli 已经退出)。
#每天一个知识点# 【Redis基础知识】Redis 是单进程单线程的,redis 利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。
#每天一个知识点#
Redis有很多语言的客户端,诸如Ruby,Python, Twisted Python, PHP, Erlang, Tcl, Perl, Lua, Java, Scala, Clojure等。
#每天一个知识点# 2-3年的前端媛,前途应该怎么走?
#每天一个知识点#
【Redis中ECHO命令】这个命令我是咩有使用过,看了官方的释义为,打印一个特定的信息 message ,测试时使用。其实这个同我们在shell中的echo命令一致,一般不会使用。
#每天一个知识点#
【Redis中DBSIZE命令】官方给的定义是,用于用于返回当前数据库的 key 的数量,简单理解就是查询存储了多少key或者也可以理解为键值对的总数,它的时间复杂度为O(n)。使用起来也是相当简单,直接输入命令即可。
#每天一个知识点# 【Redis中KEYS命令】官方给的定义是,用于查找所有符合指定模式(pattern)的 key,简单理解就是一种模糊查询。KEYS命令时间复杂度:O(N),在线上上产环境,该命令被禁止使用,一次性查询大量的 key,会导致服务性能受到影响。可以替换的方是使用SCAN。
#每天一个知识点#
【Redis密码】 redis设置密码有两种方式,临时生效,在客户端设置;永久生效,直接在redis.conf设置,大约在902行(根据版本不同行数不固定,大约位置在此处上下)
#每天一个知识点#
【Redis中MEMORY USAGE命令】不常用的命令,我是感觉么有多大用途。MEMORY USAGE命令有什么作用?它返回指定Redis数据结构使用的字节数,这个结果是key的值以及为管理该key分配的内存总字节数
#每天一个知识点#
【Redis中SELECT命令】这个命令比较简单,在1.0版本就已经存在,这个命令用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值,这里的数字值是指Redis逻辑数据库,所有数据库仍然保存在同一个RDB/AOF文件中,相同作用的命令还有FLUSHDB、RANDOMKEY等。在客户端中他返回的结果是 OK。
#每天一个知识点#
【Redis中AUTH命令】这个命令也很有意思,说说它的使用场景:
1、如果Redis服务器通过requirepass选项进行密码保护,也就是说在配置文件中开启密码登录,这个毋庸置疑;
2、如果当前使用的版本为Redis 6.0或更高的实例且使用了Redis 访问控制系统(ACL),那么就要用到这个命令了。
#每天一个知识点#
【Redis中APPEND命令】
1、如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾。
2、如果 key 不存在,那么它将首先创建一个空字符串的key,再执行追加操作。
这是一个很有意思的命令,其实有些时候类似SET命令的操作。例如追加信息、覆盖信息、删除重建信息得到的结果一致,但是内置ID不一定一致。
#每天一个知识点# Redis中使用GET命令,返回key的value。
1、如果key不存在,返回特殊值nil。
2、如果key的value不是string,就返回错误,因为GET只处理string类型的values。