分类目录归档:LINUX

redis学习(4)—操作list类型命令

1、什么是list类型数据
list类型是一个双端链表的结构,容量是2的32次方减1个元素,即40多亿个
其主要功能有push、pop、获取元素等,一般应用在栈、队列、消息队列等场景

2、[LR]PUSH命令
以头插或尾插方式插入指定key队列中一个或多个元素
语法:[LR]PUSH key value1 [value2 …]
说明:L和R就是左和右,指从头还是从尾开始
例子:
lpush products 1 2 3

3、LRANGE命令
获取列表指定范围内的元素
语法:LRANGE key start stop
说明:start是开始位置从0开始,stop是结束位置,-1表示到链表结尾
例子:
lrange products 0 -1
1) “3”
2) “2”
3) “1”
可以看到读取时是先进后出,当成栈的结构读取

继续阅读redis学习(4)—操作list类型命令

docker学习(9)—docker-compose初探

先来看下docker-compose和命令方式的区别
在docker下运行一个redis,redis.conf文件和持久化目录保存在宿主机

一、使用命令方式部署
1、建立/home/redis/conf目录
mkdir -p /home/redis/conf
2、下载配置文件
cd /home/redis/conf
wget https://raw.githubusercontent.com/redis/redis/6.0/redis.conf

3、修改默认配置文件
#bind 127.0.0.1
protected-mode no
dir /data
appendonly yes
daemonize no #改为yes会使配置文件方式启动redis失败
pidfile /data/redis_6379.pid

4、建立/home/redis/data目录
mkdir -p /home/redis/data
5、执行部署命令
docker pull redis
docker run -itd -p 6379:6379 -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data --name myredis redis redis-server /etc/redis/redis.conf

二、使用docker-compose文件方式部署
1、建立目录
mkdir /home/myredis
2、建立文件

vi myredis.yml
version: "3.9"  # optional since v1.27.0
services:
  redis:
    image: redis
    container_name: myredis2
    ports:
      - 6379:6379
    volumes:
      - /home/redis/conf/redis.conf:/etc/redis/redis.conf
      - /home/redis/data:/data
    command: redis-server /etc/redis/redis.conf

3、执行部署命令
cd /home/myredis
docker-compose -f myredis.yml up

显示:
Creating myredis2 … done
Attaching to myredis2
myredis2 | 1:C 21 Jan 2021 09:14:28.547 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
myredis2 | 1:C 21 Jan 2021 09:14:28.547 # Redis version=6.0.10, bits=64, commit=00000000, modified=0, pid=1, just started
myredis2 | 1:C 21 Jan 2021 09:14:28.547 # Configuration loaded

三、小结
1、使用命令方式,命令没有记录,如果服务挂了,还要用命令重启
2、使用docker-compose方式实现同样的功能,由于有配置文件,管理起来更方便

参考资料:
https://redis.io/topics/config/
https://hub.docker.com/_/redis
https://www.cnblogs.com/xpengp/p/12713374.html

docker学习(8)—docker-compose安装

1、安装docker

2、安装docker-compose
官方建议使用curl方式安装:
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

3、查看版本
docker-compose --version
显示:
docker-compose version 1.27.4, build 40524192

4、卸载
sudo rm /usr/local/bin/docker-compose

继续阅读docker学习(8)—docker-compose安装

redis学习(3)—操作hash类型命令

1、什么是redis的hash数据结构
redis的hash数据结构,其实就是string的升级版,它把string数据结构的key/value,中的value类型升级为hash(和java中的hash一样)
Map<String, HashMap<String,String>> hash = new HashMap<String, HashMap<String,String>>();
也就是说value变成了一个hashmap

2、每个hash的存储大小:可以存储2的(32-1)次方的键值对(40多亿个)

3、存储java对象
key为对象名称,value为对象的<属性名称,属性的值>
只能存简单的pojo类,类属性都是string类型的

继续阅读redis学习(3)—操作hash类型命令

[转]wget/curl命令使用代理

国内机器跑分的时候,有些脚本下载不下来,这时候可以通过使用代理来下载

1、设置环境变量:
不带口令
export http_proxy=http://your-ip-address:port
export https_proxy=https://your-ip-address:port

带口令
export http_proxy=http://user:password@your-proxy-ip-address:port
export https_proxy=https://user:password@your-proxy-ip-address:port

2、取消代理
unset http_proxy
unset https_proxy

3、curl 使用命令行参数:[]内可选部分
protocol: http https socks5
curl -x '<[protocol://][user:password@]proxyhost[:port]>' url

4、wget 使用命令行参数:
wget --proxy=on --proxy-user "username" --proxy-password "password" url

5、wget 使用~/.wgetrc 优先级高于环境变量:
use_proxy = on
proxy_user=username
proxy_password=password
http_proxy = http://proxy.server.address:port/
https_proxy = http://proxy.server.address:port/

或者
use_proxy = on
http_proxy = http://username:password@proxy.server.address:port/
https_proxy = http://username:password@proxy.server.address:port/

6、wget 不使用代理命令行参数:
wget --no-proxy FILE_URL

redis学习(2)—操作String类型命令

1、SET命令
语法:SET key value [EX seconds] [PX milliseconds] [NX|XX]
必选参数说明
SET:命令
key:待设置的key
value:设置的key的value
可选参数说明
NX:表示key不存在才设置,如果存在则返回NULL
XX:表示key存在时才设置,如果不存在则返回NULL
EX seconds:设置过期时间,单位为秒
PX milliseconds:设置过期时间,单位为毫秒

2、SETNX命令
语法:SETNX key value
说明
所有参数为必选参数,设置一对key value,如果key存在,则设置失败,等同于SET key value NX
返回值
设置成功,返回(integer) 1
设置失败,返回(integer) 0

继续阅读redis学习(2)—操作String类型命令

redis学习(1)—概况

1、redis是一个内存数据库,主要用于数据缓存
2、redis有16个数据库,从DB0到DB15,每个数据库互相隔离,不共享
3、登录方式
默认登录本机的6379端口
./redis-cli
127.0.0.1:6379>
登录指定ip和端口
./redis-cli -h 192.168.102.62 -p 10079 -a 123_12345678^_00
192.168.102.63:10079>
4、key和value都可以指定序列化器

CentOS搭建k8s集群(12)—安装kubernetes-dashboard(方式一:官方yaml文件 + NodePort)(2)

未完成!!!

1、安装监控组件Metrics Server
官网:https://github.com/kubernetes-sigs/metrics-server
当前dashboard不能展示pod的CPU、内存等图形,由kubernetes-metrics-scraper从Metrics Server获取这些信息
下载:
cd /tmp
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.4.1/components.yaml

修改点1:

    spec:
      containers:
      - args:
        - --cert-dir=/tmp
        - --secure-port=4443
        - --kubelet-preferred-address-types=InternalIP,Hostname,InternalDNS,ExternalDNS,ExternalIP
        - --kubelet-use-node-status-port
        - --kubelet-insecure-tls
        - --metric-resolution=30s
部署:
kubectl apply -f components.yaml

继续阅读CentOS搭建k8s集群(12)—安装kubernetes-dashboard(方式一:官方yaml文件 + NodePort)(2)

CentOS搭建k8s集群(12)—安装kubernetes-dashboard(方式一:官方yaml文件 + NodePort)

1、版本信息
版本:kubernetes dashboard v2.0.4
地址:https://github.com/kubernetes/dashboard/releases/tag/v2.0.4
支持Kubernetes版本:1.19
使用的镜像版本:
kubernetesui/dashboard:v2.0.4
kubernetesui/metrics-scraper:v1.0.4

2、下载
cd /tmp
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

将Dashboard Service改为nodePort方式
修改点1:

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001
  selector:
    k8s-app: kubernetes-dashboard
kubectl apply -f recommended.yaml
service服务端口443,对应pod端口8443,对外暴露端口30001

继续阅读CentOS搭建k8s集群(12)—安装kubernetes-dashboard(方式一:官方yaml文件 + NodePort)