Redis应用

一.摘要

     Redis(Remote Dictionary Server)是开源C语音编写,键值对(Key-Value)存储数据库。单线程执行指令(队列排队)。

        特性:数据存储内存中,高并发,支持持久化,键过期,消息队列(List链表-广播/发布订阅-消息不丢失/Stream)

        生命周期:发送 排队 执行 返回

        拓展:pipeline,lua脚本(原子性操作)

方案1:

 方案2:

二.安装/操作指令

     1.安装

     apt-get install redis

     2.操作指令

     启动连接(默认端口6379)

      redis-server

      redis-cli -h{host} -p{port}

      

     支持数据类型 Strings,Hashes,Lists Sets Bitmaps HyperLogLog

    ====global====

    keys *  列出key

    dbsize     key大小

    exists key     是否存在key

    del key.  删除key

    ====Strings====

     set key value

     get key

     ====Hashes====

     hset key field value

     hget key field

     hdel key field

     hlen key

     hmset key field val. field2 val2

     hexists key field

     hkeys key

     

     ====Lists==== 

     lpush key value

     lpop key

     lrange key start end

     lindex key index

     llen key

     blpop key

     

     ====Sets====

     sadd key member

     srem key member

     sismember key member

     spop key

     

     ====Bitmaps====

     setbit key offset value

     setget key offset

     

      注意:防止Key冲突,Key格式 业务名:对象名:id:[属性]

三.应用

     1.场景

     ①setnx分布式锁

     

      ②分布式Session共享

      

       ③ 访问限速(短信验证码)

        

        

     2.集成(intellij-maven)

           ①使用maven jedis引入

     <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.6.3</version>        
     </dependency>

                           

         配置redis(application.yml)

  

        连接池注入

        设置获取key

 

   

          ②lua引入(原子性)-减少网络开销/原子操作/复用

     <dependency>
        <groupId>org.luaj</groupId>
        <artifactId>luaj-jse</artifactId>
        <version>3.0.1</version>
     </dependency>

         

         lua语句执行

 

     3.布隆过滤器         

          布隆过滤器(位图法-判断某个数据是否存在),通过多次hash将一个元素映射位数组中的一个点,这个点是否1 判断集合是否存在。

          

          特点:占用空间更少 高效插入和查询

          缺点:结果是概率性的(hash冲突/碰撞)

          维度:位长度/hash次数

四.深入

     1.sentinel哨兵(主从切换)

     2.cluster集群

五.链接

官网:https://redis.io/

faq:https://github.com/redis/redis-doc/blob/master/topics/faq.md

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值