redis 简介常用命令
发布日期:2021-06-28 20:27:54 浏览次数:3 分类:技术文章

本文共 4674 字,大约阅读时间需要 15 分钟。

  • 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代码对集群进行操作

转载地址:https://blog.csdn.net/yajie_12/article/details/106493621 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Zookeeper面试题
下一篇:Oplog 概念

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月24日 02时53分35秒