1.redis学习
数据默认写入到内存,如果断电,服务器宕机,redis进程挂掉,数据会丢失。
selenium操作浏览器时,要注意浏览器资源释放,方式内存泄露,崩溃
mysql是文件型数据库,默认持久化到硬盘上
redis 是内存型数据库
数据默认写入到内存,如果断电,服务器宕机,redis进程挂掉,数据会丢失selenium操作浏览器时,要注意浏览器资源释放,方式内存泄漏,崩溃。 with opne() 默认close关闭文件句柄 word工具,额米有保存前,数据放在内存里,保存后持久化到磁盘上,永久存储在mysql是文件型数据库,默认持久化到磁盘上
2.redis安装学习
- yum安装,最简单,配置yum源,yum仓库才可以
- 源码编译安装,指定安装路径,自定制第三方扩展模块功能
- rpm软件包手动安装,很烂,手动解决依赖关系,不适用
- 小拓展:ctrl +alt + f1~f7 f1是图形化(物理服务器的Linux界面)
1.redis安装步骤:
1.解决编译安装所需的依赖环境
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
2.在目标目录下 ,下载源代码包
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
解压:tar -zxvf -redis-4.0.10.tar.gz
3.执行./configure --prefix=/opt/redis/ #释放makefile,告诉gcc编译器,redis的安装路径
如果默认没有configure脚本,出现了makefile,直接make&&make install 安装即可
4.编译且安装
make && make install
- 小拓展
#如果你发现云服务器被矿机攻击,有一个进程占用100%CPU资源!
解决:
kill -9 杀死进程
检查定时任务
crontab -l 检查定时任务
crontab -e 编辑定时任务文件,可以删除,定时任务。
全局搜索病毒文件,删除它(注意恶意病毒,篡改了文件名,了解即可)
find / -name 病毒文件
找到了 rm -rf 删除
如果 删除不掉,很有可能文件被加锁了
lsattr filename.txt
chattr -a filename #给文件去锁
2.编译完成后,即可使用redis
启动redis服务:
redis-server
直接这样执行:
会出现不安全情况,容易被攻击
3.指定配置文件,Centos安全的启动redis服务端
(1)redis没有用户概念,redis只有密码
(2)redis默认在工作在保护模式下。不允许远程任何用户登录的(protected-mode)
更改启动端口
port 6380 #更改默认启动端口
添加redis密码
requirepass xxxxxx #设置redis启动密码,xxxx是自定义的密码
开启redis安全模式
protected-mode yes #打开保护模式
- 示例演示 important!!!
1.第一步
[root@xujunk safe_conf]#vim /safe_conf/redis.conf
#在redis.conf配置信息如下
bind 127.0.0.1
protected-mode yes
port 6379
requirepass haohaio
daemonize yes
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
2.用自己配置好redis.conf 开启redis
[root@xujunk safe_conf]#redis-server /opt/my_redis/redis-4.0.10/safe_conf/redis.conf
3.查看redis启动状态:
[root@xujunk safe_conf]#ps -ef |grep redis
4.redis-cli启动,haohaiyou是密码
[root@xujunk safe_conf]#redis-cli -p 6400 -h 127.0.0.1 -a haohaiyou
4.过滤出配置文件有益的信息(取出空白行和注释行)
- redis.conf
#找出注释行的数据
grep "^#" redis.conf
#找出空行
grep "^$"
#找出除空白行 和 注释行 以外的行
[root@xujunk redis-4.0.10]#grep -v "^#" redis.conf | grep -v "^$"
#-v 作用取相反
5.指定配置文件启动:
bind 192.168.182.130
#绑定ip,如需要远程访问,需要填写服务器ip
protected-mode yes #安全模式
port 6800 #端口
requirepass haohaio #密码
daemonize yes
#守护进程方式运行,后台运行
pidfile /var/run/redis_6379.pid
#进程id文件
loglevel notice
#日志等级
logfile ""
#日志文件
slaveof
#主从复制
- 启动redis服务端:
[root@xujunk redis-4.0.10]#redis-server redis.conf
- 启动redis客户端
[root@xujunk redis-4.0.10]#redis-cli -p 6379 -h 127.0.0.1
- 查看redis 进程状态
ps -ef|grep redis
netstat -tunlp|grep redis
#LISTEN 表示监听状态
- 验证连接成功
客户端输入:
127.0.0.1:6379> ping
返回值:PONG
3.redis 数据结构
- redis是一种高级的key:value存储系统,其中balue支持五种数据类型。
- 字符串
- 散列
- 列表
- 集合
- 有序集合
基本命令:
127.0.0.1:6379> keys * #查看所有的key 127.0.0.1:6379> type key #查看key的类型 127.0.0.1:6379> expire key seconds #过期时间 示例: >expire name "Tom" 10 #表示10秒后 {"name":"Tom"}键值对将消失 127.0.0.1:6379> ttl key #查看key过期剩余时间 -2表示key已经不存在了 127.0.0.1:6379>persist key #取消key的过期时间 -1表示key存在,没有过期时间 127.0.0.1:6379>exists key #判断