zoukankan      html  css  js  c++  java
  • redis缓存数据架构实战

      redis命令参考:http://redisdoc.com/

      与memcache对比

      redis安装配置

      yum安装

    yum -y install redis
    

      源码安装

      PS:make报错**问题:**zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录 

        执行命令

    make MALLOC=libc
    

      

       把配置文件redis.conf拷贝至文件夹src

      修改配置文件redis.conf把端口改成6380

      修改允许后台启动

    daemonize yes

       启动

    ./redis-server ./redis.conf 
    

      yum安装的可以使用systemctl启动 怎么把源码安装的也改成这样启动(思考题)

      

      进入redis

    redis-cli
    

      源码安装的去src目录下找这个命令

      指定端口进入

    ./redis-cli -p 6380
    

      创建一个字符串变量 (key是foo值是minseo的键值对)

    set foo minseo
    

      获取

    get foo
    

      获取系统缓存中所有的key

    keys *
    

      配置文件

      日志开关相当于MySQL的二进制日志不是error日志等日志

      Bind保护模式  

      修改配置文件启动安全机制

      修改配置文件

    protected-mode yes
    

      设置密码

    requirepass YOUPASSWORD
    

      重启

      进入后无法查看(提示没有认证)

      加认证后启动就能查看了

     redis-cli -p 6380 -a root
    

      关闭redis 进入以后shutdown (建议大写)

      

      redis消息类型

      运行配置

      获取当前配置

    CONFIG GET *
    

      修改配置(修改内存中配置实例重启后无效需要修改配置文件)

    CONFIG SET loglevel "notice"
    

      

      redis数据存储

     

      持久化策略(可以关闭不持久化直接从数据库读取)

      持久化存储的文件为dump.rdb备份直接备份该文件即可

      压缩

      同步

       数据类型

      常规操作

      追加

      mset同时设置多个值

      mget同时取多个值

    mget name foo
    

      strlen返回字符串的长度

      incr针对数值加1(作为计数器使用)

      decr针对数值减1

      exists检查是否存在(可以在set前检查是否存在)

      incrby增加指定的数 

    INCRBY age 2
    

      

     

      设置一个hash

       在设置一个age和sex

      hmset  hmget设置返回多个值

      hgetall返回所有值

      hget返回单独的项

     

      hmget同时返回多项

      del删除

      hdel删除hash中其中一个字段

      PS:hash适合存储对象

       hincrby加值(没有减的需要减则使用负数)

      列表

      lpush创建列表

      lrange便利展示列表(列表下标从0开始类似python)

      lpush从前面插入数据

      rpush从后面插入数据

      rpop移除列表末尾数据(返回数据)

      lpop删除第一个数据

      lset修改列表

      lindex根据下标返回值

     

      linsert插入值(after在后面插入值before在前面插入值)

  • 相关阅读:
    【404】int main(int argc,char * argv[]) windows 下的使用
    【403】COMP9024 Exercise
    【402】Twitter Data Collection
    【401】Python 求合数的所有质数因子
    【400】numpy.pad 为数组加垫(迷宫类题目)
    iOS开发之指纹解锁
    iOS-响应链(Responder Chain)
    iOS上手指点击波纹效果的实现
    使用methodSignatureForSelector与forwardInvocation实现消息转发 (转)
    Objective-C中的@dynamic(转)
  • 原文地址:https://www.cnblogs.com/minseo/p/9064094.html
Copyright © 2011-2022 走看看