redis-部署与命令使用

redis的官方网站: redis.io

redis的官方文档参考网站: redisdoc..com  经过翻译的

redis的介绍:

  redis是nosql的一种, 非关系型数据库, 数据以键值对的形式,存放在内存中。

  redis 存储的数据类型包括: 字符串,列表,hash(字典) ,集合, 有序集合 等  但是存储的key都是字符串形式的

  特点:

    1 由于存储在内存中所以一速度快

    2 数据持久化存储

    3 可以对数据设定过期时间

    4 支持事务

  应用场景;

    1 用于做数据缓存,提高访问性能

    2 用于会话缓存, 保存web会话信息

    3 用于作为消息队列,有订阅,发布功能

redis 部署

  redis的部署有2种方式:一种通过yum , 包存放在epel仓库, 二种是通过手动部署

  一,通过yum 方式:

   1 首先安装epel包

  

 

  装好后查看自带的redis包 的信息 这个包的版本较老

  # yum info redis

   

 

   2 进行redis 安装

    # yum install redis -y

    查看安装后生产的文件

    

 

  4 启动服务

    # systemctl start redis

  5 redis 默认监听端口6379 

    

redis tar包部署

  1 下载tar包

   2 进行解压

  # tar -xvf redis-3.2.9.tar.gz 

      3 进行编译安装 在解压的redis 目录下

  #make  

      # make  install 

  4 报错信息

   1 /bin/sh: cc: 未找到命令  - 安装gcc  yum -y install gcc

   2 zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录 - 解决 make MALLOC=libc

  

redis 命令操作

  通过redis 自带的命令工具链接到redis

   

  命令帮助: > help

   @generic  公共命令

    > help @generic     查看帮助

    > del  age       删除key , 可以同时删除多个

    > exists  age       判断key是否存在

    > keys  *      查看所有的键  , 这个命令在生产环境少用

    > type age     查看类型 (string ,hash ,list , set ,zset  )

    >  dbsize     查看db大小, 一般查看有多少个key

    > expire  key   seconds      设定多少秒过期时间

    >  ttl  key      查看key的过期时间   当查看key 返回值-2 表示key 被删除了 , 当key存在 则返回-1并没有过期时间, 当查看值大于0表是有过期时间

    > persist   key   去掉key的过期时间

    > incr  key    对key自动加1 , 如果这个key不存在,这创建key并设值为1

    >decr  key   对key 自动减1 , 如果key不存在,这key值为-1

    > incrby  key  k  对key 自动增加k值 , 如果key不存在, 则创建key值为k

    > decrby  key  k   对key自动减K值 , 如果key不存在,则key 值为-k

    >incrbyfloat key   k   对key 自动增加一个k值 k值为浮点数

    > getrange  key   start  end   查看key 在指定索引范围内的值

    > setrange  key  index  值  , 设定指定索引位置的值

  @string 字符串命令

    > set xiao 12   设定一个数据

    >  setnx   key  值   当key 不存在时候才设置

    > set  key  值  xx   当key 存在才 设置

    > set name cui ex 10  设定这条数据过期时间

    > SETNX name xiao   当这个key不存在时创建

    > get xiao    查看值

    > mget  key1  key2  key3    同时获取多个key

    >  mset   key1  值  key2  值   同时设置多个key

    > append  key  值   在key的原有值后面进行追加

    >strlen  key     查看key的值长度

    > getset key  值    给key重新设定一个值并会返回老的值

  @ list  列表命令 支持, 列表索引, 列表切片, 插入, 弹出,修改元素

    > help @list     查看帮助

    > rpush   key  值1 值2  值3    向列表的右断依次插入值1  值2  值3

    > lpush   key  值1 值2  值3d   向列表的左端依次插入值1 值2  值3

    > linsert  key  before|after  原值  新值    在列表的原值前或者后面插入新值

    > lpop  key     从左边 弹出一个值

    > rpop  key   从右边弹出一个值

    > lrem  key  count  值   : 因为列表中的值是可以重复的, 这表示删除列表中count个该值 ,

              当count 大于0 则从左向右删除 , count 小于0 则从右向左删除 , count等于0 则删除队列中所有的该值

    >ltrim  key  start  end   : 按照索引start 和end 范围外的值删除, 这个命令用于批量删除

    > lrange  key  start  end :  查看指定索引范围的值 正值是从左到右 , 负值是从右到左   0 -1 就表示所有值

    > lindex  key  0   按照索引取值

    > llen  key         返回列表的长度

    > lset  key  index  值    按照指定索引设定一个新的值

   @hash : 关联数组 ,他的索引是按key 来作为索引的 类似字典

    > hset  key  field  值  : 创建key的哈希值,属性为field

             >  hget  key  field   :  查看key的field 属性值

    > hdel  key field  :   删除key的field 属性值

    >  hgetall   key  :  查看key下所有值 一般上一个是field 下一个是值

    > hexists   key  field  :判断key的field 值是否存在

    > hlen key  :  返回key中field的个数

    > hmset key  field1  值  field2  值  field3  值  同时创建key 的多个field值

    > hmget key  field1  field2    查看key下的多个field值

    > hkeys key    返回key下所有的field

    > hvals  key    返回所有的field的值

    >hsetnx  key  field  值  : 当key下的field不存在时候设置

    >hincrby  key  field  number  : 是的key下field的值增加number数

    > hincrbyfloat   key  field  number  : key下的field值增加number , number为浮点数

  @set  集合,集合之间可以进行差集,  并集, 交集 计算   ,集合是无序的,不重复的

    > sadd  key 值1  值2   向集合添加两个值

    >srem  key  值1    将集合中的值1 删除

    > scard  key    : 计算key的值个数

    > sismember  key  值  : 判断集合中值是否存在

    > srandmember  key  2  : 从集合中随机取2个值

    > spop  key   :  从集合中随机弹出一个值

    > smembers  key :   获取集合中有所的值

    > sinter  key1  key2    求两个集合的交集

    > sunion  key1 key2    求两个集合的并集

    > sdiff  key1   key2   求两个集合的差集

  @sorted_set : 有序集合,没有重复元素    集合的值也是右两部分组成的 score + value 

    > zadd  key  score  值   : 向有序集合key 添加值  , score是可以重复的 , 值是不可以重复的

      >  zrem  key   值   : 删除指定值,可以同时删除多个

    > zscore  key  值  : 查看指定值的score是多少

    > zincrby  key   3  值  : 向集合的指定值 对应的score自增3

    > zcard  key   :    返回key集合中的元素个数

    >zrank  key  值 : 获取集合值的一个排名

    > zrange  key  0   -1   withscores    : 获取所有(指定范围的索引)元素的一个排名并且打印出score

    > zrangebyscore   key   minscore  maxscore   withscores   : 获取指定score范围内的根据元素 并打印出score

    > zcount  key   minscore   maxscore    : 获取指定score范围内的元素的个数统计

    > zremrangebyrank  key   start  end    :  对指定排名范围内的元素删除

    > zremrangebyscore  key  minscore  maxscore  :  按照score 排名的指定范围内元素删除

    

消息的订阅,发布

  > PUBLISH news hello    发布消息hello   生产者生产消息

  >SUBSCRIBE news   订阅   消费者取订阅消息   当没有消息会在阻塞

  

 

posted @ 2022-03-13 17:19  huxl1  阅读(129)  评论(0编辑  收藏  举报