• redis-基本介绍与linux安装


    redis 是什么

    redis 是一个开源的内存数据库,属于 NoSQL 阵营

    支持的数据类型

    • 字符串(string)
    • 哈希(hash)
    • 列表(list)
    • 集合(set)
    • 有序集合(sorted set)
    • 位图(BitMaps)
    • HyperLogLog
    • GEO 地理位置存储

    BitMaps 位图:可以做布隆过滤器, 本质是字符串

    HyperLogLog:超小内存唯一值计数,12kb HyperLogLog,本质是字符串

    GEO:地理定位信息(经纬度),本质是有序集合

    redis 的特性

    • 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型

    • 功能丰富:发布订阅(消息) Lua脚本,事务(pipeline)

    • 简单:源代码几万行,不依赖外部库

    • 主从复制:主服务器和从服务器,主服务器可以同步到从服务器中

    • 高可用和分布式

      2.8 版本以后使用 redis-sentinel 支持高可用

      3.0 版本以后支持分布式

    正因此,也有很多大公司都在使用它,如:github,twitter,stackoverflow,阿里,百度,微博,美团,搜狐

    redis 的典型使用场景 *****

    • 缓存系统

    • 计数器:网站访问量,转发量,评论数

    • 消息队列:发布订阅,阻塞队列实现

    • 排行榜:有序集合

    • 社交网络:很多特性跟社交网络匹配,粉丝数,关注数、附近的人

    • 实时系统:垃圾邮件处理系统,布隆过滤器

    redis 单机安装

    下载安装

    下面是围绕 linux 系统环境展开的

    后期尽量在 linux 或 mac 上开发,会少很多麻烦,比如 windows 上安装 mysql 的过程,体会过你就知道了

    虚拟机上配好网络映射这些,就可以用 windows 上的图形化管理工具连接访问 redis 数据库了

    # 下载(注意 当前目录 不要再桌面上)
    # pwd  # 看看当前目录在哪儿
    wget http://download.redis.io/releases/redis-5.0.7.tar.gz
    
    # 解压
    tar -xzf redis-5.0.7.tar.gz
    
    # 建立软连接(相当于 windows 的环境变量)
    ln -s redis-5.0.7 redis
    
    cd redis
    # 编译安装(要等一会儿的)
    make&&make install
    
    # src 文件夹下的几个与我们相关的文件
    ll src
    #redis-server--->redis 服务器
    #redis-cli---》redis 命令行客户端
    #redis-benchmark---》redis 性能测试工具
    #redis-check-aof---》aof 文件修复工具
    #redis-check-dump---》rdb 文件检查工具
    #redis-sentinel---》sentinel服务器,哨兵
    
    # redis 作者对 windows 维护并不太友好,但 window 自己有安装包
    

    三种启动方式

    如何关闭 redis 服务?

    源码安装可采用这个方式,查出进程 id,然后关闭进程(重启可以停掉再重开)

    [root@localhost 桌面]# ps -ef | grep redis-server | grep 6379
    root       8495   3895  0 00:26 pts/0    00:00:00 redis-server *:6379
    [root@localhost 桌面]# kill -9 8495
    [root@localhost 桌面]# ps -ef | grep redis-server | grep 6379
    

    1.最简启动

    # 最简启动
    redis-server
    
    # 另开终端
    ps -ef|grep redis  # 查看 redis 进程
    

    2.动态参数启动

    cd src
    
    #动态参数启动
    redis-server --port 6380 # 启动redis 并指定端口为 6380
    

    3.配置文件启动

    # 配置文件启动
    # (这个文件位置在哪、叫什么不重要)在 redis 目录下创建 config 目录,copy 一个 redis.conf 文件
    cd redis
    mkdir config
    mkdir /root/data
    cd config
    
    vi redis.conf
    '''写入如下内容(可自定义配置)
    
    # 以守护进程模式启动(后台运行)
    daemonize yes
    # 这里开的端口要开通(可能云服务器默认开启的端口不包含这个)
    port 6379
    # 开放外部访问
    bind 0.0.0.0
    # 关闭保护模式,允许外界访问
    protected-mode no
    # 工作目录(这个目录也差不多是随意的,要提前创建好)
    dir "/root/data"
    logfile "6379.log"
    
    '''
    
    cd ..
    #启动redis
    redis-server config/redis.conf
    #查看进程
    ps -ef |grep redis-server |grep 6379
    #查看日志
    cd /root/data
    cat 6379.log
    

    客户端连接

    6379 端口小插曲:此4个数字对应手机按键 MERZ,是意大利女歌手 Alessia Merz 的名字(小声嘀咕)

    ### 客户端连接测试 ###
    redis-cli -h 127.0.0.1 -p 6379
    
    # redis 命令行中输入 ping 会返回PONG
    ping
    
    # 退出 redis 命令行
    exit
    
    # 尝试用 windows 中的 redis 桌面管理工具来连接
    ifconfig
    # 找到 ip,然后用桌面工具建立连接即可
    

    连接失败排错

    参考博客【windows本地连不上虚拟机redis服务完美解决】,成功解决~

    # 连接失败解决
    # 先查看 虚拟机的 6379 端口是否打开,下面命令如果返回 no 则说明虚拟机的端口未打开
    firewall-cmd --query-port=6379/tcp
    # 打开 6379 端口(--permanent 参数让这条命令永久生效)
    firewall-cmd --add-port=6379 --permanent
    # 再次连接测试
    
    # 若还是连接不上,请测试虚拟机与 windows 主机是否相通(在windows 命令行中)
    ping ....虚拟机下 ifconfig 查到的 ip....
    # 未通再检查虚拟机的网络连接
    
    # 若端口开放了,也能 ping 通,那么检查一下虚拟机的防火墙
    systemctl status iptables
    # 发现我的虚拟机上 firewalld 防火墙开着,那么把它关掉(正式服务器上不建议这么做)
    systemctl status firewalld
    chkconfig firewalld off
    # 再次尝试桌面工具连接,成功!
    
  • 相关阅读:
    Javascript引擎的单线程机制和setTimeout执行原理阐述
    给定红包个数和红包金额,计算红包的金额
    oracle日志归档空间清理
    Jmeter之录制控制器与代理的使用
    Jmeter分布式测试的坑
    Jmeter之Cookie和Session处理
    性能测试之JMeter远程模式
    JMeter自带工具录制配置方法
    Jmeter分布式测试
    性能测试的 Check List (不断更新中)
  • 原文地址:https://www.cnblogs.com/suwanbin/p/12698472.html
Copyright © 2020-2023  润新知