Redis

Redis

     Redis的全称是Remote Dictionary server 
     Redis是一种基于键值对(key-value)的NoSQL数据库



特性:

    1.速度快 : 正常情况下,Redis执行命令的速度非常快,官方的数据是读写性能10万/秒。
                        读写速度快的主要原因是:
                                      Redis所有数据都是存放在内存中的;
                                      Redis是用C语言实现的;
                                      Redis使用了单线程架构;
   2.基于键值对的数据结构服务器
                    Redis提供了五种基本数据结构数据:字符串、哈希、列表、集合、有序集合。
   3.持久化 : 虽然Redis的所有数据都是存放在内存中的,但也提供了持久化的功能。
   4.主从复制



一些常用的命令

        keys * 查看所有的key
        type key  查看key所对应的value的数据类型
        del key [key1 key2 ...] 删除key
        expire key 过期时间(秒)
        ttl key 查看键的剩余过期时间



五种数据结构

        一:哈希:在Redis中,哈希类型实质本身又是一个键值对结         
      
常用命令:
    (1)设置值                     hset key field value
    (2)获取值                     hget key field
    (3)删除field                hdel key field [field ...]
    (4)计算field个数        hlen key
    (5)批量设置或获取field-value     
                                          hmset key field value [field value]
                                          hmget key field [field ...]


        二:字符串:

常用命令:
 (1)设置值        set key value [nx|xx]
                    注意:nx当key不存在时,才能设置成功  ;  xx当key存在时,才能设置成功
 (2)获取          get key
 (3)批量设置值        mset key value [key value  ...]
 (4)批量获取值        mget key [key ...]
 (5)计数        incr key
                  注意:incr 命令用于对值做自增操作,返回结果又三种情况:
                           值不是整数,返回错误
                           值是整数,返回自增后的结果、
                           键不存在,按照值为0自增,返回结果为1  .

       三:列表   列表类型用来存储多个有序元素

常用命令
    (1)从右边插入元素
                    rpush key value  [value ...]
    (2)从坐标插入元素
                    lpush key value [value ...]
    (3)获取指定范围内的元素列表
                    lrange key  start end (注意:此处包括end索引)
    (4)获取列表指定索引下标的元素
                    lindex key  index
     (5) 获取列表长度
                    llen key
     (6)从列表左侧(右侧)弹出元素
                   lpop | rpop key
     (7)删除指定元素
                   lrem key count value
                       根据count的不同删除元素:
                         count>0,从左到右,删除最多count个元素
                         count<0,从右到左,删除最多count绝对值个元素
                         count=0,删除所有
    (8)修改指定索引下标的元素
                    lset key index newValue
            列表可以组织成栈和队列:
                    lpush + lpop  = Stack(栈)
                    lpush + rpop = Queue(队列

            四:集合   集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下表获取元素

集合内操作
(1) 添加元素             sadd key element [element...]
(2) 删除元素             srem key element [element]
(3)计算元素个数      scard key
(4)获取所有元素      smembers key
(5)随机从集合返回指定个数元素        srandmember key [count]
(6)从集合随机弹出元素  spop key [count]

集合间操作
(1)求多个集合的交集   sinter key [key...]
(2)求多个集合的并集   sunion key [key...]
(3)求多个集合的差集   sdiff key [key...] 


            五:有序集合    有序集合保留了集合不能重复成员的特性,但是不同的是,有序集合中的元素可以根据每个成员的分数进行排序

常用操作
(1)添加成员   zadd key score member [score member ...]
(2)计算成员个数   zcard key
(3)获取某个成员的分数  zscore key member
(4)删除成员 zrem key member [member...] 
(5)增加成员分数  zincrby key increment member
(6)计算成员的排名  zrank key member  (从低到高) ;    zrevrank key member (从高到低)
(7) 返回指定排名范围的成员  zrange key start end [withscores] ;   zrevrange key start end [withscores]
(8)返回指定分数范围的成员 zrangebyscore key min max [withscore]  ; zrerangebyscore key min max [withscore]
(9)返回指定分数范围成员个数  zcount key min max
(10 )删除制定分数范围的成员   zremrangebyscore key min max    



Redis 主从复制:

Redis 的主从复制是单向的,只能从master复制数据到slave。
设置主从关系:
      1.在从服务器(slave)Redis命令行中直接输入:slaveof master的地址 master的端口号3
      2.在从服务器(slave)的配置文件redis.conf中加入 slaveof master的地址 master的端口

切主与断开复制:
切主操作: slaveof master的地址 master的端口
断开复制:slaveof  no one
                    




















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值