简述

Redis是一种高性能、key-value、基于内存也可持久化的日志型非关系型数据库,它是对关系型数据库的一个良好补充,通过简单的命令就可对数据进行存取和修改。

安装

  • Windows版本,就下载这个版本: redis下载
  • 解压,目录如下

image.png

  • 打开redis服务器,命令行操作
    1. redis-server.exe redis.windows.conf
    image.png

    配置

    常规配置

    1. #是否后台进行,默认否。窗口一关,服务器停止
    2. daemonize no
    3. #超时连接。300s后无客户端连接进来则自然断开
    4. timeout 300
    5. #主机
    6. bind 127.0.0.1
    7. #端口号
    8. port 6379
    9. #日志级别
    10. loglevel verbose
    11. #数据库数量
    12. database 16
    13. #是否需要密码
    14. requirepass foobared

    持久化配置

    就是将位于内存的数据存放到磁盘中,这就涉及到一些情况,比如:何时同步,怎样同步,多久同步一次等等,根据持久化策略的不同,我们将redis同步方式分为了RDB、AOF。

    RDB

    RDB,redis database。就类似于照快照,记录那一瞬间的数据,然后同步到磁盘里去,它恢复时直接将快照文件直接读到内存里,这是redis默认的持久化策略。其优点是快速,缺点是遇到意外情况比如断电就会丢失数据。
    1. #同步条件。多少秒内发生多少次改变就触发同步
    2. save 900 1
    3. save 300 10
    4. save 60 10000
    5. #持久化文件名字
    6. dbfilename dump.rdb
    7. #存放路径
    8. dir ./

    AOF

    AOF,Append Of File。表示以命令的方式追加到磁盘中。即:无论读入还是读出,数据都是以命令的方式进行传输。其优点是数据完整,缺点就是速度慢,而redis存在的意义就是作为关系型数据库的良好补充,快速传输数据,所以这个缺点使得它与关系型数据库速度无异。当然,实际情况中,一般是两种持久化策略都在使用。
    1. #是否开启AOF持久化策略。是
    2. appendonly yes
    3. #配置文件的名字
    4. appendfilename "appendonly.aof"
    5. #配置文件路径
    6. dir ./
    7. #AOF的持久化策略:总是、每秒、不同步.建议everysenc,性能和速度折中
    8. #appendsync always
    9. appendsync everysec
    10. #appendsync no

    操作命令

    redis有多种数据类型,常见有5种redis命令:String、Hash、List、Set、SortSet。

    结构模型

    如下:
    Redis - 图3

具体命令

  • String

image.png

  • Hash

    1. redis-cli.exe
    2. hset user name 'simon'
    3. hset user passwd '123456'
    4. hset user age '25'
    5. hgetall user
    6. hkeys user
    7. hvals user
    8. hexists user username
    9. hincrby user age 5
    10. hmget user age
    11. hmset user age '50'
    12. hmset user age 40 name simon2
    13. hsetnx user name 'ls'
  • List

    1. redis-cli.exe
    2. lpush num 1
    3. lpush num 2
    4. lpush num 3
    5. lpush num 4
    6. lpush num 5
    7. lrange num 0 100
    8. lpop num
    9. llen num
    10. lset num 2 90
    11. linsert num 3 20
    12. lrem num 3
  • Set

    1. sadd name 'zs'
    2. sadd name 'ls'
    3. sadd name 'ww'
    4. sadd name 'zl'
    5. sadd name 'tq'
    6. smembers name
    7. sadd person 'libai'
    8. sadd person 'steve bob'
    9. sadd person 'zs'
    10. sadd person 'ls'
    11. sunion name person
    12. sdiff name person
    13. sdiffstore name person destination cross
    14. smove name destination cross
    15. srem name 2
  • sortSet

    1. zadd body 1 23
    2. zadd body 2 19
    3. zadd body 3 10
    4. zadd body 4 44
    5. zcard body
    6. zcard body 4
    7. zincrby body 12 3
    8. zrank body 3

    客户端

    命令行

    image.png

    Jedis

  • 下载链接:http://redis.cn/clients.html#java

image.png

  • jedis简单使用

    AnotherRedisDesktopManager

    点击我
    image.png
    AnotherRedisDesktopManager
    AnotherRedisDesktopManager
    AnotherRedisDesktopManager