redis简单入门

一:组成
KV
cache
persitent
3V+3高背景
海量volume
多样variety
实时velocity

高性能
高并发
高可拓

二:例子
1商品的基本信息:名称不会变,衣服永远是衣服
存在关系型数据库中:mysql/oracle,去IOE(IBM小型机,Oracle,EMC存储设备)
2商品的描述,详情,评价信息
存在文档型的数据库:MongDB
3商品的图片:
存在于分布式的文件系统:淘宝自己的TFS,谷歌的GFS,Hadoop的HDFS
4商品的关键字
站内搜索ISearch,淘宝内用
5商品的波段性的热点高频信息
Redis,Tair,Memcache
6商品的交易,价格计算,积分
支付宝
三:BOSN:二进制json
四:noql:聚合模型(KV键值对,Bson,列族,图形)
1)KV键值
2)文档型数据库(MongoDB)
3)列存储数据库(Cassandra,HBase)
4)图数据库(Neo4J,InfoGrid)
五:CAP:
1)c:consistency(强一致性)
2)A:Availability(可用性)
3)P:partition tolerance(分区容错性)
CAP核心理论:一个分布式系统不可能同时满足一致性,可用性和分区容错性,最多只能满足两个
CA:单点集群,满足一致性,可用性的系统,拓展性不强(oracle)
CP:满足一致性,分区容忍,但性能不高(redis)
AP:——-满足可用性,分区容忍性,对一致性要求低

BASE:解决方案BASE
    基本可用(Basically Available)
    软状态(Soft state)
    最终一致性(Eventually consistent)

六:分布式:不同的多台服务器上面部署不同的服务模型
集群:不同的多台服务器上部署相同的服务模块
七:redis Remote Dictionary Server(远程字典服务器)
特点:1)支持数据持久化
2)支持key_value,set,list,Hash
3)支持数据的备份
八:redis知识
1)单进程:通过epoll函数
2)默认16个数据库
3)常用命令:
a:select select 0 选择1号库
b:dbsize 数据库中key的个数 keys * 语句查看所有的key
c:flushdb 删除所在数据库的数据
flushall 删除16个数据库的所有的数据
d:默认端口6379
4)常用的数据类型命令操作
String:
Hash:类似Map

lpush mylist 1 2 3
              左查看 `lrange mylist 0 5`  //查看6个元素
              左弹出 `lpop mylist`

              右添加 `rpush mylist2 a b c`
                 rpush mylist2 1 2 3
              右查看 `rrange mylist2 0 5`  //查看6个元素
              右弹出 `rpop mylist2`


        查看列表:
        两端弹出:

        之前,之后插入:linsert mylist4 before b 222
                linsert mylist4 after b 222
        rpoplpush:消息队列
            lpush mylist5 1 2 3
            lpush mylist6 a b c
            rpoplpush mylist5 mylist6
            lrange mylist6 0 -1  结果:1 c b a


    set:set是String类型的无序集合,通过HashTable实现
        不允许出现重复的元素

        添加元素:sadd myset a b c
        删除元素:srem myset 1 2
        查看元素:SMEMBERS myset
        判断元素是否存在,1存在:SISMEMBER myset a
        差运算:SDIFF mya1 myb1   //mya1中有,myb1中没有
        交运算:SINTER mya1 myb1
        并运算:SUNION mya1 myb1
        统计数量:scard myset
        差运算存储到新的key:sdiffstore myc1 mya1 myb1
        交运算存储到新的key:同理
        并运算存储到新的key:同理

        使用的场景:访问ip地址的存储
                维护数据的关联关系  




    Zset:(sorted set :有序集合)zest和set一样也是String类型的集合,且不允许重复
        不同的是每个元素都会关联一个double类型的分数
        redis通过分数来为集合中的成员进行从小到大的排序,zset在成员中是唯一的,但(scored)是可以重复的。
         添加:    zadd mysort 70 zs 80 li 90 ww
         查看元素:`zrange mysort 0 -1`
zrange mysort 0 -1 withscores

九redis事务
multi:开启事务
exec:提交事务
取消事务:discard
十:持久化:数据存储在内存中写入硬盘过程
RDB持久化:优势 只包含一个文件
劣势 低可用
AOF持久化:优势 安全,日志文件相对完整
劣势
无持久化:
同时RDB和AOF:

常用的命令:http://redisdoc.com/
执行: ./redis-server /home/zzq/myRedis/redis.conf
./redis-cli -p 6379

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值