Redis

什么是redis?
    redis是c语言开发的高性能的k-v形式的数据库,数据存储在内存中,诞生于意大利


redis安装和启动:
    1、安装
        1)安装c语言环境
            yum install gcc-c++
        2)上传并解压
            cd /usr/upload
            tar -zxvf redis-3.0.7.tar.gz
        3)编译并安装
            cd /usr/local/redis-3.0.7
            make
            make install PREFIX=/usr/local/redis
    2、启动和关闭
        1)拷贝并修改配置文件
            cp /usr/upload/redis-3.0.7/redis.conf /usr/local/redis/bin
            vim /usr/local/redis/bin/redis.conf:
                daemonize yes
        2)启动
            ./redis-server redis.conf
        3)关闭
            ./redis-cli -h 127.0.0.1 -p 6379 shutdown
            ./redis-cli shutdown
        4)测试
            ./redis-cli -h 127.0.0.1 -p 6379
            ./redis-cli
redis的基本命令:
    keys *:查看所有key
    expire和ttl:设置和查看key的失效时间
    incr和decr:自增和自减
    exists:判断key值是否存在
redis的多数据库实例:
    1、redis实例中提供了下标是0-15的16个数据库,不能修改下标,可通过select切换
    2、清空数据库的命令:
        flushdb:清空当前数据库的数据
        flushall:清空所有数据库的数据
持久化方案:
    1、RDB:默认(数据)
        策略:
            save 900 1
            save 300 10
            save 60 10000

        优点:不影响性能
        缺点:不能保证数据的完整性

        实验:
            1.删除dump.rdb
            2.set str abc
            3../redis-cli shutdown--->dump.rdb

    2、AOF:(命令)
        策略:
            # appendfsync always
            appendfsync everysec
            # appendfsync no

        缺点:影响性能
        优点:保证数据的完整性

        实验:
            1.设置appendonly为yes
            2.set str1 abc
            3.等待1秒观察appendonly.aop
主从复制:
    1、过程
        a、从往主发送sync命令
        b、主往从发送rdb文件
        c、主往从发送写命令

    2、配置步骤
        主:无需配置
        从:slaveof 主ip 主port

        实验:
            1.往主写数据,观察从是否同步
            2.关闭主,往从写数据(主死类从只能读)
redis的五种数据类型:
                          赋值                                    取值                                    删除                    特点
    string              set k v                                 get k                                  del k                    string
    hash               hset k k-v                           hget k k                              hdel k k                 map
    list              lpush/rpush k v...                   lrange k 0 -1                       lrem k 2 v               list
    set                sadd k v...                           smembers k                        srem k v                set
    zset             zadd k 1 v...                  zrange k 0 -1 withscores            zrem k v             sort set
 

redis集群:
    1、redis集群是多少台?
        投票容错超过半数:3台     高可用:3台
    2、为什么集群中有一个节点挂了,则整个集群都挂类?
        redis集群中有16384个槽分给了3个节点,存取数据时:crc16(key)%16384=[0~16383]
    3、搭建步骤
        1)安装ruby环境
            cd /usr/upload
            yum install ruby
            yum install rubygems
            gem install redis-3.0.0.gem
            cd /usr/upload/redis-3.0.0/src
            ll *.rb
        2)拷贝6个节点,并启动
            1、删除dump.rdb和appendonly.aof
                cd /usr/local/redis/bin
                rm -f dump.rdb
                rm -f appendonly.aof
            2、拷贝6个节点
                cd /usr/local
                mkdir redis-cluster
                cp -r redis redis-cluster/redis-7001
                ......
            3、修改配置文件
                vim /usr/local/redis-cluster/redis-7001/bin/redis.conf:
                    port 7001
                    cluster-enable yes
                ... ...
            4、创建启动脚本
                cd /usr/local/redis-cluster/redis-7001/bin
                ./redis-server redis.conf
                cd /usr/local/redis-cluster/redis-7002/bin
                ./redis-server redis.conf
                cd /usr/local/redis-cluster/redis-7003/bin
                ./redis-server redis.conf
                cd /usr/local/redis-cluster/redis-7004/bin
                ./redis-server redis.conf
                cd /usr/local/redis-cluster/redis-7005/bin
                ./redis-server redis.conf
                cd /usr/local/redis-cluster/redis-7006/bin
                ./redis-server redis.conf
            5、使用ruby脚本创建redis集群
                cd /usr/upload/redis-3.0.0/src
                ./redis-trib.rb create --replicas 1 192.168.145.133:7001 192.168.145.133:7002 192.168.145.133:7003 192.168.145.133:7004 192.168.145.133:7005  192.168.145.133:7006
            6、测试
                ./redis-cli -c -p 7001
                cluster info
                cluster nodes

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值