zoukankan      html  css  js  c++  java
  • 1.redis基础

    1.nosql

    学名(not only sql)
    
    特点:
    
    存储结构与mysql这一种关系型数据库完全不同,nosql存储的是KV形式
    
    nosql有很多产品,都有自己的api和语法,以及业务场景
    
    产品种类:
    
    Mongodb
    
    redis
    
    Hbase hadoop

    2.yum安装redius

    #前提得配置好阿里云yum源,epel源
    #查看是否有redis包
    yum list redis
    #安装redis
    yum install redis -y
    #安装好,启动redis
    systemctl start redis

    3. 源码编译安装

    1.下载redis源码
    wget http://download.redis.io/releases/redis-4.0.10.tar.gz
    2.解压缩
    tar -zxf redis-4.0.10.tar.gz
    3.切换redis源码目录
    cd redis-4.0.10.tar.gz
    4.编译源文件
    make 
    5.编译好后,src/目录下有编译好的redis指令
    6.make install 安装到指定目录,默认在/usr/local/bin

     redis可执行文件

    ./redis-benchmark //用于进行redis性能测试的工具
    ./redis-check-dump //用于修复出问题的dump.rdb文件
    ./redis-cli //redis的客户端
    ./redis-server //redis的服务端
    ./redis-check-aof //用于修复出问题的AOF文件
    ./redis-sentinel //用于集群管理

    4. redis配置文件

      redis配置文件名为 redis.conf 这个文件可以自定义

    5. redis核心配置项

    绑定ip,如需要远程访问,需要填写服务器ip
    bind 127.0.0.1  
    
    端口,redis启动端口
    port 
    
    守护进程方式运行
    daemonize yes
    
    rdb数据文件
    dbfilename dump.rdb
    
    数据文件存放路径
    dir /var/lib/redis/
    
    日志文件
    logfile /var/log/redis/redis-server.log
    
    主从复制
    slaveof

    6. 启动redis服务端

    启动redis非常简单,直接./redis-server就可以启动服务端了,还可以用下面的方法指定要加载的配置文件:
    ./redis-server ../redis.conf
    默认情况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。

    7.redis数据结构

    redis是一种高级的key:value存储系统,其中value支持五种数据类型
    字符串(strings)
    散列(hashes)
    列表(lists)
    集合(sets)
    有序集合(sorted sets)

    8. 基本命令

    keys *         查看所有key
    type key      查看key类型
    expire key seconds    过期时间
    ttl key     查看key过期剩余时间        -2表示key已经不存在了
    persist     取消key的过期时间   -1表示key存在,没有过期时间
    
    exists key     判断key存在    存在返回1    否则0
    del keys     删除key    可以删除多个
    dbsize         计算key的数量

    9 数据结构

    • strings类型
      • set key value
      • get key
      • mset k1 v1 k2 v2
      • mget k1 v1
      • del k1
      • incr k1
      • decr k1
    • list类型
      • lpush
      • rpush
      • lrange 0 -1
      • ltrim 1 2 : 保留第二个到第三个元素
      • lpop
      • rpop   
      • lpushx/rpushx : 存在则添加值, 不存在则不处理
    • sets集合类型
      • sadd/srem 添加删除元素
      • sismember 判断是否为set的一个元素
      • smembers 返回集合所有成员
      • sdiff 返回一个集合和其他集合的差异
      • sinter 返回几个集合的交集
      • sunion 返回几个集合的冰机
    • 有序集合
      • 用来保存需要排序的数据, 例如排行榜, 成绩, 工资等
      • zadd zoo 10 alex
      • zrange zoo 0 -1 withscores
      • zreverrange zoo 0 -1 withscores 倒叙
      • zrem zoo alex
      • zcard zoo : return long of set
      • zscore zoo alex : 返回成员的score值
      • zrank alex : 返回成员的排名
    • 哈希结构 : k1 -> k2 : v2  ,如同字典套字典 { k1 : { k2 : v2 } }
      • hset  k1 k2 v2
      • hget  k1 k2
      • hmset zhang age  27 sex man
      • hmget zhang age sex
      • hsetnx zhang age 2
      • hkeys zhang : 返回所有keys
      • hvals zhang : 返回所有values
      • hlen : 返回三列包含域 field 的数量
      • hdel  删除三列指定的域 field
      • hexists 判断是否存在
      •   

     

  • 相关阅读:
    HDU 5115 Dire Wolf ——(区间DP)
    2016 ICPC 大连网络赛 部分题解
    CodeForces 707D Persistent Bookcase ——(巧妙的dfs)
    HDU 5806 NanoApe Loves Sequence Ⅱ ——(尺取法)
    【Permutations II】cpp
    【Permutations】cpp
    【Subsets II】cpp
    【Subsets】cpp
    【Search a 2D Matrix】cpp
    【Search Insert Position 】cpp
  • 原文地址:https://www.cnblogs.com/zhangjian0092/p/11697590.html
Copyright © 2011-2022 走看看