redis 简介常用命令

  • Redis
    泛指非关系型的数据库,不支持SQL语句
    存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是key-value的形式NoSQL的世界中没有一种通用的语言,
           每种nosql数据库都有自己的api和语法,以及擅长的业务场景,
    NoSQL中的产品种类相当多:
    Mongodb
    Redis
    Hbase hadoop (大数据使用的数据库)
    Cassandra hadoop (大数据使用的数据库)

            NoSQL和SQL的比较    
                适用场景不同:sql数据库适合用于关系特别复杂的数据查询场景,nosql反之"事务"特性的支持:sql对事务的支持非常完善,而nosql基本不支持事务
                两者在不断地取长补短,呈现融合趋势
            
            Redis简介
                Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
    

    从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。Redis是NoSQL技术
    阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

            Redis的特性    
                是内存型数据库
                key-value的存储形式,key的类型是字符串值的类型一般分为5种数据类型
                    string
                    hash
                    list
                    set()   # 普通集合
                    zeset()  # 有序集合
                    
            Redis的优势
            Redis的应用场景
                缓存
            Redis的配置 *****
                bind
                port
                slaveof #奴隶
                dir
                dbfilename
    
            键命令(所有的数据类型通用)
                keys *
                del key1 key2
                expire key 10    
    
            操作数据
    

    选择x号仓库
                select x
    string
    set name zhangsan
    get name
    “zhangsan”
    setex name 10 lisi # 既能保存又可以设置有效期,单位为秒,意味10s之内可以访问到
    mset name1 zhangsan name2 lisi name3 wangwu
    mget name1 name2 name3
    “zhangsan”
    “lisi”
    “wangwu”
    append name1 itcast
    get name1
    “zhangsanitcast”

                    del name2
                    keys *  # 获取所有的key
                    
                hash
                    hset xiaoming  height 175
                    hset xiaoming  weight 65kg
                    hget xiaoming  height/weight
                        175/60kg
                    hmset xiaoming name itcast age 11
                    hkeys xiaoming  
                        // 得到他下面的键
                    hvals xiaoming 
                        // 得到他下面键所对应的值
                        
                    hdel xiaoming height
                                
                list
                    lpush a1 a b c d  # 这个l代表左边
                    lrange a1 0 -1    # 这个l代表list   0-2 这个值可以是0-10将所有的数据都取出来.没有的自动过滤掉,不会报错
                        "d"
                        "c"
                        "b"
                        "a"
    
                    rpush a2 1 2 3 4 5 6
                    lrange a2 0 -1
                        "1"
                        "2"
                        "3"
                        "4"
    

    “5”
                   “6”

                    linsert a2 before(after) 3 66    
                    lset a2 2 bbb
                    lset a2 5 bbb
                    lrem a2 1 bbb   # 只移除一次
                            
                set   # 不允许修改
                    sadd a3 java python php 
                    smembers a3 
                        "java" 
                        "python" 
                        "php"
                        "C#"
    
                    srem a3 java 
                    smembers a3  
                        "python" 
                        "php"
                        "C#"
                        
                zset    # 不允许修改
                    zadd a4 4 lisi 7 xiaomei  3 wangwu  6 lili  8 xiaohua
                    zrange a4 0 -1
                        "wangwu" 
                        "lisi"    
                        "lili"
                        "xiaomei"
                        "xiaohua"
    
                    zrangebyscore a4 6 8    
                        "lili"
                        "xiaomei" 
                        "xiaohua"
                    
                    zscore a4 lili
                        "6"
    
                    zrem a4 xiaomei    
                    zrange a4 0 -1
                        "wangwu" 
                        "lisi"    
                        "lili"
                        "xiaohua"
    
                    zremrangebyscore a4 6 8 
                    zrange a4 0 -1
                        "wangwu"
                        "lisi"
                        
            redis主从配置
                优点
                    读写分离
                    数据备份
    

    减轻主redis的访问量

            redis的集群:
            集群的好处:
                负载均衡
            如何配置:
                1、创建了6个配置文件,port一定不同,启动6个redis的服务
                    port 7003
                    bind 172.16.179.131
                    daemonize yes
                    pidfile 7003.pid
                    cluster-enabled yes
                    cluster-config-file 7003_node.conf
                    cluster-node-timeout 15000
                    appendonly yes
                2、将6个配置文件,使用redis-server 进行启动
                3、将6个独立的redis-server服务给他变为一个群体
                    redis-trib.rb create --replicas 1   172.16.179.130:7000   172.16.179.130:7001   172.16.179.130:7002 
    

    172.16.179.131:7003 172.16.179.131:7004 172.16.179.131:7005
        4、问题
        redis-trib.rb 默认是没有这个命令
        sudo cp /usr/share/doc/redis-tools/examples/redis-trib.rb /usr/local/bin/
        redis-trib.rb 内部是使用ruby语言来实现,所以就需要ubuntu系统能够支持ruby的环境
        sudo apt-get install ruby
        安装完ruby之后,看看ruby的版本 ruby -v
         如果是2.2以下的话,修改ubuntu下的source.list
        gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/sudo gem install redis
         使用python代码对集群进行操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值