答:官方网站未提供,但微软为window提供了可测试的redis,
下面是教程 在 windows 上安装 Redis ,下载压缩包zip格式文件。
学习redis的资料: Windows 10 安装 Redis_veryitman的博客-CSDN博客_windows10安装redis
- #在opt目录下解压
- tar -zxvf 压缩包名字
- # 下载编译要用的各种库
- yum install gcc-c++
- #编译和安装
- make
- make install
开启守护进程模式
将/opt/redis-6.2.6/redis.conf 复制一份 放到 /bin目录(其实也是/usr/bin),使用vim修改daemonize 为yes
什么是守护进程
答:在 linux 中,每一个系统与用户进行交流的界面称为终端 如果没有开启守护进程,相当于在前台开启了Redis黑窗口,当终端窗口关闭时,Reids服务也会跟着关闭 而开启守护进程后,相当于是在后台运行,脱离终端,不会再关闭终端时停止Redis服务进程
事实上启动服务,有两种方式,我选用的是通过配置文件启动服务,这样服务会在后端运行
命令是:redis-server teng_config/redis.conf
,
第二种方式:在前台通过黑窗口启动,先切换到redis安装目录下的 src目录,之后,./redis-server
启动
如何测试redis是否安装成功
答:运行命令ps -ef|grep redis
会出现如下的显示:
- root 27413 1 0 10:15 ? 00:00:00 redis-server 127.0.0.1:6379 #这一行就说明,redis-serve服务启动成功
- root 27606 22816 0 10:17 pts/0 00:00:00 grep --color=auto redis
进入客户端: redis-cli -p 6379 执行关闭命令:shutdown
思路:先查看redis运行端口,停掉正在运行的redis,之后,删除usr的local里面的redis安装目录 和usr 的 bin下面的可执行脚本
- ps -ef | grep redis
- kill -9 28274
- rm -rf /usr/local/redis
- rm -rf /usr/bin/redis-* //删除所有redis相关命令脚本
redis单线程
Redis是很快的,官方解释Redis是基于内存操作的,CPU 不是Redis性能瓶颈,瓶颈是根据机器的内存和网络太宽,既然嫩用单线程来实现,就用了。
Redis是单线程的为什么还这么快
误区1:高性能的服务器不一定是多线程的
误区2:多线程(它存在CPU上下文切换)不一定比单线程效率高
核心:redis是将所有的数据全部放在内存中,多次读写都是在一个CPU上的,在这种情况下,这个就是最佳的方案。
基础知识
- select 0
- keys * 产看所有键
- get 键
- set 键 值
- flushdb 清除当前数据库
- flushall 清除所有数据库
- exists name ,判断是否存在
- expire name 10 ,过期 时间秒
- type name 查看当前key类型
在redis的conf配置文件中,设置了触发快照机制,一但redis宕机,就会产生一个rdb文件,重启时,只要rdb在/usr/local/bin 目录下 就可以读取快照,及时恢复数据
- 方式1:使用 keys(会导致阻塞问题,所以生产环境下不会使用)
-
- 方式2:使用scan
-
- public Set<String> scan(String pattern, long count) {
- Set<String> keys = new HashSet<>();
- this.scan(pattern, count, item -> {
- keys.add(new String(item, StandardCharsets.UTF_8));
- });
- return keys;
- }