通过建站学运维1901-46任务

5.78 Redis 介绍及安装

5.78.1Redis介绍

  • Redis官网:redis.io
  • Redis是一个键值对存储数据库。
  • 属于一种NoSQL。nosql是非关系型数据库的统称。
  • 其数据存储在内存里,读写速度非常快,据说是可以达到10w并发。
  • 并且支持数据持久化。
  • 虽然它属于单线程服务,但这不影响它的高并发特性。

5.78.1 其他非关系型数据库介绍

  • 类似键值对数据库还有Memcached,但Redis比Memcached支持更多类型的数据。
  • Mecached只支持string类型的数据。
  • 但Redis除了支持string外,还支持hash,set,list,zset(有序集合)

5.78.2 Redis安装

  • 下载:
    wget http://download.redis.io/releases/redis-5.0.3.tar.gz
  • 解包:
    tar zxf redis-5.0.3.tar.gz
  • 进入目录:
    cd redis-5.0.3
  • 编译安装:
    make
    make install
  • 复制配置文件到/etc/目录下
    cp redis.conf /etc/
  • 编辑配置文件
    vi /etc/redis.conf
    将daemonize no改为daemonize yes
    让redis在后台启动。
  • 启动服务
    redis-server /etc/redis.conf

5.79 CentOS7下编写服务管理脚本

  • 编辑配置文件 vi /usr/lib/systemd/system/redis.service
  • 修改配置文件内容如下:
[Unit]
Description=Redis
After=network.target

[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid ##pidfile文件在/etc/redis.conf文件里定义了。
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

##到此结束

  • 创建软链接 ln -s /usr/lib/systemd/system/redis.service /etc/systemd/system/multi-user.target.wants/redis.service
  • 重新加载配置 systemctl daemon-reload
  • 启动 systemctl start redis

5.79.1 /etc/redis.conf配置日志文件

5-122.png

5.80 redis的数据类型

5.80.1 登录redis

  • 直接登录
    redis-cli
  • 指定IP和端口,端口默认6379
    redis-cli -h ip -p port
  • 指定密码
    redis-cli -a 'password'

5.80.2 string类型

  • 查询键
    keys *
  • 设定键
    set key1 "aminglinux"
  • 查看键值
    get key1
  • 同时设定多个键的键值
    mset key1 1 key2 'a' key3 'linux'
  • 同时查看多个键的键值
    mget key1 key2

5.80.3list

list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。list用于消息队列。

  • 命令可以使用tab键补全,即使使用小写字母也会启动补全。
  • list内包含一个元素
    LPUSH list1 "aminglinux"
  • list内包含多个元素
    LPUSH list1 "1 2 3"
    LPUSH list1 "aaa bbb"
  • 取出list的内容
    LRAGE list1 0 -1 //读取整个list
    LPOP list1 //取出最后插入的元素
    RPOP list1 //取出最开始插入的元素
  • 取出内容后,list里就没有这个值了

5.80.4 set

set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。

SADD set1 a b c
SADD set1 d
SMEMBERS set1 //读取所有元素
SREM set1 c //删除元素
SADD set2 1 a b
SINTER set1 set2 //交集
SUNION set1 set2 //并集
SDIFF set1 set2 //差集

5.80.5 zset (sorted set)

sorted set是有序集合,它比set多了一个权重参数score,使得集合中的元素能够按 score 进行有序排列.

  • 数字表示权重
    ZADD set3 12 abc
    ZADD set3 2 "cde 123"
    ZADD set3 24 "123-aaa"
    ZADD set3 4 "a123a"
    ZRANGE set3 0 -1
    ZREVRANGE set3 0 -1 //倒序

5.80.6 hash

其实,hash可以认为是多维度string。(类似关系型数据)

hset hash1 name aming
hget hash1 name
hset hash1 age 30
hget hash1 age
hgetall hash1

转载于:https://my.oschina.net/u/4067478/blog/3029494

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值