Redis介绍
创始人
2024-02-16 18:41:35
0

Redis

redis简单介绍

https://redis.io/
  • 什么是redis?

    remote dictionary server, 远程字典服务. 顾名思义, redis的基础存储方式是键对值, 是一种常用的非关系型数据库.

  • redis的特点

    • 内存操作, 相对于传统数据库从硬盘上读取数据速度, 快了一个数量级.

    • redis服务是单线程工作模式, 不会产生一般的并发问题.

      在我们使用多线程或者多进程去进行一般IO操作会发生读写冲突. 如果我们的多线程和多进程程序去读取redis消息队列当中的值时, 由于redis是单线程工作模式, 读事件和写事件都会按顺序执行, 避免了并发问题.

redis的安装

  • 服务端

    • windows

      https://github.com/microsoftarchive/redis
      
    • ubuntu

      apt-get install redis-server
      
    • mac

      brew install redis
      
  • 客户端

    • windows

      • redis-desktop
    • ubuntu

      # 没有图形界面
      apt-get install redis-cli
      
    • mac

      medis
      
    • python连接

      pip install redis
      
      import redis# 指定使用的database
      redis_con = redis.Redis(host='localhost', port=6379, db=2)
      

redis的数据类型和CRUD

通过redis-cli命名进行连接redis-cli -h localhost -p 6379# 选择使用的数据库
C:\Users\TuNan>redis-cli
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]># 查看当前库下所有的key
127.0.0.1:6379[2]> keys *
  • String

    • Create

      set key value
      
    • Retrieve

      get key
      
    • Update

      set key  value
      
    • Delete

      del key
      
  • Hash

    • Create

      hset 变量名 key value
      
    • Retrieve

      hget 变量名 key
      
    • Update

      hset 变量名 key value
      
    • Delete

      hdel 变量名 key
      
  • List

    • Create

      lpush 变量名 value
      
    • Retrieve

      • 通过索引取值

        lindex 变量名 索引值lindex 'list_test' 1
        
      • 通过索引取一定范围的值

        lrange 变量名 start endlrange 'list_test' 0 2
        
    • Update

      linsert 变量名 before[after] pivot valuelinsert 'list_test' before 'a' 'b'
      
    • Delete

      • rpop

        从右侧, 也就是list的末尾移除一个元素并返回

        rpop 'list_test'
        
      • lpop

        从左侧, 也就是头部移除一个元素并返回

      • lrem

        删除一定数目的元素

        lrem 变量名 删除个数,  删除元素
        
  • Set

    • Create

      sadd 变量名 value
      
    • Retrieve

      • 获取集合中的所有成员

        smembers 变量名
        
      • 判断当前元素是否在集合当中

        sismember 变量名 value
        sismember 'set_test' 2
        
      • 返回随机数

        srandmember 变量名 随机返回的数量
        srandmember 'set_test' 2
        
    • Update

    • Delete

      spop 变量名
      
  • Zset

    有序集合

    可以通过有序集合完成一个复杂的优先级队列

    • create

      zadd 变量名 分数 value
      
    • Retrieve

      • 返回当前成员数

        zcard 'zset_test'
        
      • 获取一定分数区间的成员数

        zcount 变量名 min_score max_score
        
      • 通过一定分数区间获取值

        zrangebyscore 变量名 min_score max_scorezrangebyscore 'zset_test' 2 1
        
    • Update

      • 加分

        zincrby 变量 加分值 valuezincrby 'zset_test' 1 'b'
        
    • Delete

      • 根据排名移除成员

        zremrangebyrank 变量名 start stopzremrangebyrank 'zset_test' 1 2
        
      • 根据分数移除成员

        zremrangebyscore 变量名 min_score max_scorezremrangebyscore 'zset_test' 2 2
        

相关内容

热门资讯

法援三十载·新规启新程 | 金... 概况 11月以来,金山区法律援助中心围绕“法援三十载·新规启新程”主题,联合11个街镇(高新区)法律...
轻信理财骗局损失8.8万元,起... 三湘都市报12月22日讯(文/视频 全媒体记者 虢灿)女子轻信网络投资理财骗局,被骗8.8万元,收款...
南玻A(000012)披露公司... 截至2025年12月22日收盘,南玻A(000012)报收于4.47元,较前一交易日上涨0.22%,...
恒兴新材(603276)披露修... 截至2025年12月22日收盘,恒兴新材(603276)报收于16.46元,较前一交易日下跌0.72...
个人信用修复政策重磅落地 12月22日,中国人民银行发布一次性信用修复政策:符合相关条件的逾期信息,将不会在个人信用报告中予以...
应对野生动物伤人,法律重申常识... 12月22日,生态环境法典草案三次审议稿提请十四届全国人大常委会第十九次会议审议。针对食草野生动物与...
原创 私... 西安雁塔警方通报查处一家提供“异性陪侍”的私人影院,经营者被刑拘,陪侍人员被行拘。这背后,为何处理结...
天玑科技及相关责任人因涉嫌串通... 12月22日,天玑科技(300245.SZ)发布公告,公司近期收到上海市虹口区人民检察院送达的《起诉...
「期刊文摘」 蔡昉:人工智能时... 蔡昉:人工智能时代的社会保障,理念更新与制度建设 期刊文摘 ★★★★★ 一、引言 人们惊叹于近年来人...
千万人受益 详解信用修复政策 个人信用修复政策重磅落地。12月22日,中国人民银行发布一次性信用修复政策:符合相关条件的逾期信息,...