zoukankan      html  css  js  c++  java
  • Redis:Linux安装与使用


    • Redis的存储结构:字符类型,散列类型,列表类型,集合类型,有序集合。
    • Redis功能:
    1. 可以为每个key设置超时时间。
    2. 可以通过列表类型来实现分布式队列的操作。
    3. 支持发布订阅的消息模式。
    • 为什么使用Redis?提供了很多命令与redis进行交互,使redis使用十分简单。
    • redis的应用场景:
    1. 数据缓存(商品数据、新闻、热点数据)。
    2. 单点登录。
    3. 秒杀、抢购。
    4. 网站访问排名…。
    5. 应用的模块开发。

      • 在redis解压目录下(redis-3.2.8),执行: make
      • 可以通过:make test  测试编译状态(测试编译状态报错)。

      • 切换到当前目录上级目录:mkdir redis  创建一个redis文件夹(新建的) 。
      • 切换到解压包目录下执行:make install PREFIX=/home/redis  完成安装。
      • 通过:cp  redis.conf   ../redis   将解压目录下面的conf文件复制到新建的redis目录下。



    • 常用命令
    1. ./redis-server ../redis.conf  //启动
    2. ./redis-cli shutdown    //关闭
    3. 以后台进程的方式启动,修改redis.conf   daemonize =yes。
    4.  ./redis-cli -h 127.0.0.1 -p 6379  //连接到redis的命令
    5. ./redis-cli                              //访问到redis的控制台

     

    keys pattern  [? / * /[]]   //获得一个符合匹配规则的键名列表
    
    EXISTS key            //判断一个键是否存在 
    
    type key              //去获得这个key的数据结构类型


    • 各种数据(存储)结构的使用
      • 字符类型

    一个字符类型的key默认存储的最大容量是512M
    
    赋值和取值
    
    SET key  value
    
    GET key
    
    递增数字
    incr key 如果存入的该key值需要实现递增,可以使用incr命令创建key每次set会自动递增,不至于value手动操作加值 错误的演示:
    int value= get key; value =value +1; set key value;

    key的设计:对象类型:对象id:对象属性:对象子属性
    incryby key increment     //递增指定的整数
    
    decr key             //原子递减
    
    append key value        //向指定的key追加字符串
    
    strlen  key          //获得key对应的value的长度

    mget  key key..                  //同时获得多个key的value
    
    mset key value  key value  key value …    //同时设置多个key的value

      • 列表类型

    list, 可以存储一个有序的字符串列表
    LPUSH/RPUSH  key  value: //从左边或者右边push数据
    
    llen key           //获得列表的长度
    
    LPOP/RPOP  key        //取数据
    应用场景:可以用来做分布式消息队列

    lrange key  start stop     //索引可以是负数, -1表示最右边的第一个元素

    lrem key count value  //删除列表指定元素
    
    lset key index value  //设置索引的值

      • 散列类型
    hash key value  不支持数据类型的嵌套,比较适合存储对象
    hset key field value
    
    hget key filed
    
    hmset key filed value [filed value …]     //一次性设置多个值
    
    hmget key field field …             //一次性获得多个值
    
    hgetall key                    //获得hash的所有信息,包括key和value

    hexists key field        //判断字段是否存在。 存在返回1. 不存在返回0  
    
    hdel key field [field …]   //删除一个或者多个字段

      • 集合类型

    set 跟list 不一样的点。 集合类型不能存在重复的数据。而且是无序的
    sadd key member [member ...]     //增加数据; 如果value已经存在,则会忽略存在的值,并且返回成功加入的元素的数量
    
    srem key member            //删除元素
    
    smembers key              //获得所有数据
    
    sdiff key key …            //对多个集合执行差集运算
    
    sunion                 //对多个集合执行并集操作, 同时存在在两个集合里的所有值

      • 有序集合

    zadd key score member           //添加数据
    
    zrange key start stop [withscores]   //去获得元素。 withscores是可以获得元素的分数


    • redis的事务处理
    MULTI   //去开启事务
    EXEC   //去执行事务

    • 过期时间设置(使用)
    expire key seconds  //设置建过期时间
    ttl  key        //获得key的过期时间

    • 发布订阅命令
    publish key value   //发布
    subscribe key    //另一台机器订阅
    • 删除key命令

    del key


  • 相关阅读:
    oracle 对应的JDBC驱动 版本
    Java Web中如何访问WEB-INF下的XML文件
    网站制作越简单越好(一):css样式命名规范
    HTTPClient以WebAPI方式发送formData数据上传文件
    NetCore(依赖注入)
    JS a标签 onClick问题
    NetCore的配置管理(1)
    Centos 系统安装NetCore SDK命令以及一系列操作(3)
    Centos 系统安装NetCore SDK命令以及一系列操作(2)
    Centos 系统安装NetCore SDK命令以及一系列操作(1)
  • 原文地址:https://www.cnblogs.com/LJing21/p/10589174.html
Copyright © 2011-2022 走看看