Redis基础

本文介绍Redis的启动与配置,命令行工具redis-cli的使用,性能测试工具redis-benchmark的功能,以及Redis的数据库管理,包括数据库切换、键值对操作、数据库大小查询、数据库清理等核心操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis基础

一 redis-server(redis的启动)

使用命令redis-server ./redis.conf,选择自己修改过的某个配置文件将redis打开

redis 的默认运行方式不是后台运行,如果需要改成后台运行,将redis.conf里的GENERAL中daemonize的后缀为yes,默认是no。


# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

关闭先shutdown
shoutdown后面可以接两种修饰符:
SAVE 和 NOSAVE 修饰符

通过使用可选的修饰符,可以修改 SHUTDOWN 命令的表现。比如说:

  • 执行 SHUTDOWN SAVE 会强制让数据库执行保存操作,即使没有设定(configure)保存点
  • 执行 SHUTDOWN NOSAVE 会阻止数据库执行保存操作,即使已经设定有一个或多个保存点(你可以将这一用法看作是强制停止服务器的一个假想的 ABORT 命令)

这时接断开了连接,再使用exit就退出完成

二 redis-cli (redis命令行工具)

redis-cli -p {port}方式连接,然后所有的操作都是在交互的方式实现,不需要再执行redis-cli了,port默认都为6379。

此处只介绍了使用-p进行交互式连接,详细介绍请点击此处

三 redis-benchmark

redis-benchmark用作测试性能,包括PING (inline),PING,MSET (10 keys),SET,GET,INCR,LPUSH,LPOP,SADD,SPOP,LPUSH,LRANGE ,LRANGE,LRANGE,LRANGE 。

大多以100000次为基准来看完成时间,和以1s为基准来看完成次数。完成效果会因为电脑性能的差异有不同的完成效率,所以redis-benchmark在一定程度上可以用来测试电脑的性能(附带作用)

要了解更多可以点击查看官网文档(中文版)

四 杂项

2.1 单进程
  • 单进程模型来处理客服端的请求,对读写等事件的响应是通过对epoll函数的包装来做到的,redis的实际处理速度完全依靠主进程的执行效率。
  • epoll是linux内核为处理大批量文件描述符而作了改进的epoll,是linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率
2.2 数据库

默认有16个数据库,类似数组小标从0开始,初始默认使用零号库

官方文档:

# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
2.3 SELECT

通过select命令来切换库,不同的库不能相互访问彼此的键值对。

附:在写redis的命令时,使用tab同样可以直接补全命令,并变为大写。

127.0.0.1:6379[7]> select 0
OK
127.0.0.1:6379> set k1 hello
OK
127.0.0.1:6379> get k1
"hello"
127.0.0.1:6379> select 7
OK
127.0.0.1:6379[7]> get k1
(nil)
127.0.0.1:6379[7]> select 0
OK
127.0.0.1:6379> get k1
"hello"
2.4 DBSIZE

使用DBSIZE可以查看当前正在访问的库中的键数

127.0.0.1:6379[7]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 5
127.0.0.1:6379> select 7
OK
127.0.0.1:6379[7]> dbsize
(integer) 0

使用 KEYS 并结合正则匹配可以查看库中的键的情况

127.0.0.1:6379> KEYS *
1) "k1"
2) "key:__rand_int__"
3) "counter:__rand_int__"
4) "myset:__rand_int__"
5) "mylist"
127.0.0.1:6379> set k2 hello
OK
127.0.0.1:6379> set k3 hello
OK
127.0.0.1:6379> KEYS k?
1) "k3"
2) "k1"
3) "k2"
2.5 FLUSHDB

清除当前正在访问的库中的所有键值对

127.0.0.1:6379> set k4 hello
OK
127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379> KEYS *
(empty list or set)
2.6 FLUSHALL

清除16个库中,全部的键值对

127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> set k1 k1
OK
127.0.0.1:6379> set k2 k2
OK
127.0.0.1:6379> set k3 k3
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set p1 p1
OK
127.0.0.1:6379[1]> set p2 p2
OK
127.0.0.1:6379[1]> KEYS *
1) "p2"
2) "p1"
127.0.0.1:6379[1]> FLUSHALL
OK
127.0.0.1:6379[1]> KEYS *
(empty list or set)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> KEYS *
(empty list or set)
2.7 统一密码管理

16个库都是同样的密码,要不然都ok,要不然都不ok

2.8 索引

redis库的索引都是从零开始

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值