<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ETalien_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ETalien_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ETalien_]]></copyright><item><title><![CDATA[Linux:安装nginx]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/108547036</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/108547036</guid><author>ETalien_</author><pubDate>Fri, 13 Aug 2021 19:51:43 +0800</pubDate><description><![CDATA[1.安装依赖包
//一键安装这四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

2.下载并解压安装包
//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
//下载解压tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz

3.安装nginx
//进入nginx]]></description><category></category></item><item><title><![CDATA[Docker更换国内镜像源]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107931142</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107931142</guid><author>ETalien_</author><pubDate>Wed, 04 Aug 2021 10:44:06 +0800</pubDate><description><![CDATA[方法一：
给Docker守护进程配置加速器
通过配置文件启动Docker,修改/etc/docker/daemon.json 文件并添加上 registry-mirrors 键值。
vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}

修改保存后，重启 Docker 以使配置生效。
service docker restart
方法二：
如果安装docker软件，可以在Docker Engin]]></description><category></category></item><item><title><![CDATA[Linux：Redis安全（设置密码验证）]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107609336</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107609336</guid><author>ETalien_</author><pubDate>Thu, 27 May 2021 15:40:54 +0800</pubDate><description><![CDATA[可以通过Redis的配置文件设置密码验证，如果设置了密码验证的话，客户端连接到Redis服务的时候就需要输入密码，这样可以让Redis服务更加安全。
使用命令config get requirepass可以查看是否设置了密码验证
127.0.0.1:6379&gt; config get requirepass
1) "requirepass"
2) ""

发现密码为空，也就是不需要密码就直接可以连接到redis服务。
设置密码，假设设置成hello
127.0.0.1:6379&gt; config s]]></description><category></category></item><item><title><![CDATA[Linux：Redis数据备份和恢复]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107609155</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107609155</guid><author>ETalien_</author><pubDate>Mon, 24 May 2021 16:22:38 +0800</pubDate><description><![CDATA[Redis数据备份和恢复
1.备份
可以使用SAVE或者BGSAVE命令
SAVE用于创建数据库的备份。（阻塞主进程）
BGSAVE用于在后台创建数据库的备份。（fock了一个专门save的子进程，不会影响主进程）
127.0.0.1:6379&gt; SAVE 
OK
127.0.0.1:6379&gt; BGSAVE
Background saving started

2.数据恢复
想要恢复数据的话，需要将备份文件（dump.rdb）移动到redis安装目录并启动服务即可。
获取redis目录可以使用]]></description><category></category></item><item><title><![CDATA[Linux：Redis服务器相关命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107608898</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107608898</guid><author>ETalien_</author><pubDate>Thu, 13 May 2021 15:35:59 +0800</pubDate><description><![CDATA[Redis 服务器命令主要是用于管理 redis 服务。
1.BGSAVE（保存数据到磁盘）
Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。
BGSAVE 命令执行之后立即返回 OK ，然后 Redis fork 出一个新子进程，原来的 Redis 进程(父进程)继续处理客户端请求，而子进程则负责将数据保存到磁盘，然后退出。
127.0.0.1:6379&gt; bgsave
Background saving started

2.CLIENT LIST（查看所有客户端连接）
R]]></description><category></category></item><item><title><![CDATA[Linux：与redis连接服务有关的一些命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107608725</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107608725</guid><author>ETalien_</author><pubDate>Thu, 18 Mar 2021 15:37:41 +0800</pubDate><description><![CDATA[Redis 连接命令主要是用于连接 redis 服务。
1.PING
Redis Ping 命令使用客户端向 Redis 服务器发送一个 PING ，如果服务器运作正常的话，会返回一个 PONG 。
127.0.0.1:6379&gt; PING  # 连接正常
PONG
127.0.0.1:6379&gt; PING  # 连接异常
Could not connect to Redis at 127.0.0.1:6379: Connection refused

2.QUIT
Redis Quit 命令用]]></description><category></category></item><item><title><![CDATA[Linux：Redis事务]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107608623</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107608623</guid><author>ETalien_</author><pubDate>Thu, 11 Mar 2021 17:37:37 +0800</pubDate><description><![CDATA[Redis事务
Redis 事务可以一次执行多个命令， 并且带有以下三个重要的保证：

批量操作在发送 EXEC 命令前被放入队列缓存
收到 EXEC 命令后进入事务执行，事务中任意命令执行失败，其余的命令依然被执行
在事务执行过程，其他客户端提交的命令请求不会插入到事务执行命令序列中。

一个事务从开始到执行会经历以下三个阶段：

开始事务
命令入队
执行事务

单个 Redis 命令的执行是原子性的，但 Redis 没有在事务上增加任何维持原子性的机制，所以 Redis 事务的执行并不是原子性的。我们可]]></description><category></category></item><item><title><![CDATA[Linux：Redis发布订阅]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107608424</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107608424</guid><author>ETalien_</author><pubDate>Tue, 09 Mar 2021 15:14:53 +0800</pubDate><description><![CDATA[Redis发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式：发送者(pub)发送消息，订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
下图表示client1，client2和client5，都订阅了channel1这个频道

下图表示给channel1这个频道发送消息之后，channel1会把信息发布给订阅它的client1，client2和client5

操作指令
1.SUBSCRIBE（创建频道）
Redis Subscribe 命令用于订阅给定的一个或多个频]]></description><category></category></item><item><title><![CDATA[ffmpeg：获取音频采样率]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/114304547</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/114304547</guid><author>ETalien_</author><pubDate>Wed, 03 Mar 2021 11:31:44 +0800</pubDate><description><![CDATA[使用ffmpeg获取音频采样率
//一些头文件
#include &lt;libavcodec/avcodec.h&gt;
#include &lt;libavformat/avformat.h&gt;
#include &lt;libswscale/swscale.h&gt;
#include &lt;libavutil/imgutils.h&gt;
#include &lt;libavutil/time.h&gt;
#include &lt;libswresample/swresample.h&gt;
]]></description><category></category></item><item><title><![CDATA[ffmpeg：通过视频PTS获取当前帧所在的时间]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/114268848</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/114268848</guid><author>ETalien_</author><pubDate>Mon, 01 Mar 2021 18:26:21 +0800</pubDate><description><![CDATA[FFmpeg通过PTS获取当前帧所在的时间
//输入对应流，获取帧
AVStream *stream=pFormatCtx-&gt;streams[packet.stream_index];
//解码
avcodec_decode_video2(pCodecCtx,pFrame, &amp;got_frame, &amp;packet);
//获取秒
int second= pFrame-&gt;pts * av_q2d(stream-&gt;time_base);


...]]></description><category></category></item><item><title><![CDATA[Linux：git报错 - git-lfs filter-process: git-lfs: command not found]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/113941401</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/113941401</guid><author>ETalien_</author><pubDate>Mon, 22 Feb 2021 15:57:41 +0800</pubDate><description><![CDATA[在pull远程主分支代码时，出现了如下错误：
git-lfs filter-process: git-lfs: command not found
fatal: The remote end hung up unexpectedly

解决方案
brew install git-lfs


]]></description><category></category></item><item><title><![CDATA[Linux：Redis列表（list）命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107334967</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107334967</guid><author>ETalien_</author><pubDate>Sat, 20 Feb 2021 14:59:13 +0800</pubDate><description><![CDATA[Redis列表命令
1.LPUSH/LPOP（左边插入和删除）
Redis Lpush 命令将一个或多个值插入到列表头部。 如果 key 不存在，一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时，返回一个错误。
Redis Lpop 命令用于移除并返回列表的第一个元素。
127.0.0.1:6379&gt; lpush ret 123
(integer) 1
127.0.0.1:6379&gt; lpush ret 456
(integer) 2
127.0.0.1:6379&]]></description><category></category></item><item><title><![CDATA[Linux：Redis哈希（hash）命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107333022</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107333022</guid><author>ETalien_</author><pubDate>Sat, 13 Feb 2021 11:45:32 +0800</pubDate><description><![CDATA[Redis哈希命令
1.HSET/HMSET/HGET/HMGET/HGETALL/HDEL
Redis Hset 命令用于为哈希表中的字段赋值 。
Redis Hmset 命令用于同时将多个 field-value (字段-值)对设置到哈希表中。
Redis Hget 命令用于返回哈希表中指定字段的值。
Redis Hmget 命令用于返回哈希表中，一个或多个给定字段的值。
Redis Hgetall 命令用于返回哈希表中，所有的字段和值。
Redis Hdel 命令用于删除哈希表 key 中的一个或多个]]></description><category></category></item><item><title><![CDATA[Linux：Redis字符串（string）命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107324361</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107324361</guid><author>ETalien_</author><pubDate>Wed, 10 Feb 2021 14:32:51 +0800</pubDate><description><![CDATA[Redis字符串命令
1.SET/GET/GETSET
set设置指定key的值
get获取指定key的值
getset设置新值并返回旧值
127.0.0.1:6379&gt; set ret 123
OK
127.0.0.1:6379&gt; get ret
“123"
127.0.0.1:6379&gt; getset ret 456
"123"
127.0.0.1:6379&gt; get ret
"456"

2.GETRANGE
Redis Getrange 命令用于获取存储在指定 key 中字符]]></description><category></category></item><item><title><![CDATA[iTerm的右上角惊现一只眼睛！谁在监视我！！]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/113771385</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/113771385</guid><author>ETalien_</author><pubDate>Tue, 09 Feb 2021 15:54:46 +0800</pubDate><description><![CDATA[哈哈哈哈笑死我了！！！

用iTerm的时候发现右上角有个小眼睛
来给大家看一看哈哈哈哈！

看到的一瞬间以为有人在监视我工作！
我这么内心单纯的小孩子第一时间就是这么想的哈哈哈哈！
这年头还有人监视我工作的一举一动，这还得了

后来查了下也不知道是什么原因
然后看到网上的小伙伴也疑惑哈哈哈哈



抱团疑惑哈哈哈哈！！
我正在看着你看着你目不转睛哈哈哈哈哈！！

好吧！到最后我也不知道是啥！小丑竟是我自己！

不过我知道怎么让你看不到这个眼睛！
按下command+Alt+A就可以了！
好，就酱！我投降了]]></description><category></category></item><item><title><![CDATA[Linux：Redis键（key）的操作]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107324243</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107324243</guid><author>ETalien_</author><pubDate>Mon, 11 Jan 2021 14:34:45 +0800</pubDate><description><![CDATA[Redis键的操作（key）
Redis 键命令用于管理 redis 的键
语法：COMMAND KEY_NAME
1.DEL（删除）
Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。返回值是被删除key的数量。
127.0.0.1:6379&gt; DEL ret

2.DUMP（序列化）
Redis DUMP 命令用于序列化给定 key ，并返回被序列化的值。key存在返回序列化之后的值，key不存在返回nil。
127.0.0.1:6379&gt; set ret "hello]]></description><category></category></item><item><title><![CDATA[Python：运行程序报错Empty suite]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107563820</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107563820</guid><author>ETalien_</author><pubDate>Mon, 04 Jan 2021 16:41:41 +0800</pubDate><description><![CDATA[其实特别简单，这是因为
默认情况下，PyCharm将检查以test开头的文件，它们是unittest.TestCase的子类，但是你可以控制模式和子类选项。根据您的测试文件名更改模式，它接受Python正则表达式。
解决方法就是：
更改程序名字，不要以test开头
比如test_list.py
你可以改成list_test.py

...]]></description><category></category></item><item><title><![CDATA[Linux：Redis 有序集合（zset）命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107357939</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107357939</guid><author>ETalien_</author><pubDate>Tue, 29 Dec 2020 11:59:30 +0800</pubDate><description><![CDATA[Redis 有序集合命令
1.ZADD（添加元素）
Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。
如果某个成员已经是有序集的成员，那么更新这个成员的分数值，并通过重新插入这个成员元素，来保证该成员在正确的位置上。
分数值可以是整数值或双精度浮点数。
127.0.0.1:6379&gt; zadd key 1 one
(integer) 1
127.0.0.1:6379&gt; zadd key 2 two
(integer) 1
127.0.0.1:6379&gt; zad]]></description><category></category></item><item><title><![CDATA[Linux：Redis集合(set)命令]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107342766</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107342766</guid><author>ETalien_</author><pubDate>Fri, 25 Dec 2020 14:54:03 +0800</pubDate><description><![CDATA[Redis集合(set)命令
1.SADD
Redis Sadd 命令将一个或多个成员元素加入到集合中，已经存在于集合的成员元素将被忽略。
假如集合 key 不存在，则创建一个只包含添加的元素作成员的集合。
127.0.0.1:6379&gt; sadd key 123
(integer) 1
127.0.0.1:6379&gt; sadd key 456
(integer) 1
127.0.0.1:6379&gt; sadd key 789
(integer) 1
127.0.0.1:6379&gt; s]]></description><category></category></item><item><title><![CDATA[Linux：Redis的基本数据类型]]></title><link>https://blog.youkuaiyun.com/ETalien_/article/details/107324204</link><guid>https://blog.youkuaiyun.com/ETalien_/article/details/107324204</guid><author>ETalien_</author><pubDate>Tue, 22 Dec 2020 18:10:26 +0800</pubDate><description><![CDATA[字符串（SET，GET）
string 是 redis 最基本的类型，一个 key 对应一个 value，string 类型的值最大能存储 512MB
127.0.0.1:6379&gt; SET ret "123"  # 键为ret,对应的值为"123"。
OK
127.0.0.1:6379&gt; GET ret
"123"

哈希（HMSET，HGET）
Redis hash 是一个 string 类型的 field 和 value 的映射表，hash 特别适合用于存储对象
127.0.0.1:637]]></description><category></category></item></channel></rss>