安装:

  • 00.下载(可选)
    • wget http://download.redis.io/releases/redis-3.2.8.tar.gz
  • 0.解压
    • tar zxvf redis-3.2.5.tar.gz
  • 1.复制:推荐放到usr/local目录下
    • sudo mv ./redis-3.2.5/* /usr/local/redis
  • 2.进入redis目录
    • cd /usr/local/redis/
  • 3.生成
    • sudo make
  • 4.测试
    • sudo make test
  • 5.安装:将redis的命令安装到/usr/local/redis/目录
    sudo make install

  • 建文件夹

    • sudo mkdir /var/lib/redis
    • sudo mkdir /var/log/redis
    • sudo touch /var/log/redis/redis-server.log

配置:

  1. 在源文件/usr/local/redis目录下,文件redis.conf为配置文件
    绑定地址:如果需要远程访问,可将此行注释
    • bind 127.0.0.1
  2. 是否以守护进程运行,推荐改为yes,
    • daemonize yes
  3. 数据文件
    • dbfilename dump.rdb
  4. 数据文件存储路径
    • dir的默认值为./,表示当前目录
    • 推荐改为:dir /var/lib/redis/
  5. 日志文件
    • 默认值为‘ ’
    • 推荐改为:logfile /var/log/redis/redis-server.log
  6. 数据库个数
    • 默认16个 0-15
    • database 16
  7. 主从复制,暂时不配置
    • slaveof

使用配置文件方式启动:

  1. 一般配置文件都放在/etc/目录下
    • sudo mkdir /etc/redis
    • sudo cp /usr/local/redis/redis.conf /etc/redis/
  2. 推荐指定配置文件启动
    • sudo redis-server /etc/redis/redis.conf
  3. 停止redis服务
    • ps aux | grep redis
    • sudo kill -9 redis的进程id
  4. 查看6379端口号是否被占用
    • sudo netstat -lntp | grep 6379

数据操作

string

  • 设置:

    • 启动客户端
      • redis-cli
    • 设置键值
      • set key value
    • 设置键值及过期时间,以秒为单位
      • setex key seconds value
    • 设置多个键值
      • mset key value [key value ...]
  • 获取:

    • 根据键获取值,如果不存在此键则返回nil
      • get key
    • 根据多个键获取多个值
      • mget key [key ...]
  • 运算:(要求:值是数字)

    • 将key对应的value加1
      • incr key
    • 将key对应的value加整数
      • incrby key increment
    • 将key对应的value减1
      • decr key
    • 将key对应的value减整数
      • decrby key decrement
  • 其它:

    • 追加值
      • append key value
    • 获取值长度
      • strlen key

键命令:

  • 查找键,参数支持正则
    • keys pattern
  • 判断键是否存在,如果存在返回1,不存在返回0
    • exists key [key ...]
  • 查看键对应的value的类型
    • type key
  • 删除键及对应的值
    • del key [key ...]
  • 设置过期时间,以秒为单位
    • expire key seconds
  • 查看有效时间,以秒为单位
    • ttl key

hash:

  • 设置

    • 设置单个属性
      • hset key field(name) value
    • 设置多个属性
      • hmset key field value [field value ...]
  • 获取

    • 获取一个属性的值
      • hget key field
    • 获取多个属性的值
      • hmget key field [field ...]
    • 获取所有属性和值
      • hgetall key
    • 获取所有的属性
      • hkeys key
    • 返回包含属性的个数
      • hlen key
    • 获取所有值
      • hvals key
  • 其它

    • 判断属性是否存在
      • hexists key field
    • 删除属性及值
      • hdel key field [field ...]
    • 返回值的字符串长度
      • hstrlen key field

list

  • 设置

    • 在头部插入数据
      • lpush key value [value ...]
    • 在尾部插入数据
      • rpush key value [value ...]
    • 在一个元素的前|后插入新元素
      • linsert key before|after 列表中的值 要插入的值
    • 指定下标修改值
      • lset key 下标 value
  • 获取

    • 获取所有值
      • lrange key start stop
    • 移除并且返回 key 对应的 list 的第一个元素
      • lpop key
    • 移除并返回存于 key 的 list 的最后一个元素
      • rpop key
  • 其它

    • 裁剪列表
      • ltrim key start stop
    • 返回存储在 key 里的list的长度
      • llen key
    • 返回列表里索引对应的元素
      • lindex key index(下标)

set

  • 设置

    • 添加元素
      • sadd key member [member ...]
  • 获取

    • 返回key集合所有的元素
      • smembers key
    • 返回集合元素个数
      • scard key
  • 其它

    • 求多个集合的交集
      • sinter key [key ...]
    • 求某集合与其它集合的差集
      • sdiff key [key ...]
    • 求多个集合的合集
      • sunion key [key ...]
    • 判断元素是否在集合中
      • sismember key member

zset

  • 设置

    • 添加元素

      • zadd key score member [score member ...]
    • 获取

    • 返回指定范围内的元素
      • zrange key start stop
    • 返回元素个数
      • zcard key
    • 返回有序集key中,score值在min和max之间的成员
      • zcount key min max