0%

Redis

基本操作

  • 新建一个值: SET server:name "fido"
  • 检查是否存在:EXISTS server:name/*return 0 or 1*/
  • 查询值:GET server:name
  • 删除值:DEL connection
  • 原子地改变密锁的上的值
    1
    2
    3
    4
    INCR connection
    DECR connection
    INCRBY connection 10
    DECRBY connection 10
  • 设置密锁存在时间
    1
    2
    EXPIRE connection 120/*这里的时间以毫秒为单位*/
    SET connection 10 EX 120/*简单定义*/
  • 获取密锁剩余的时间
    1
    2
    3
    TTL connection
    /*返回值为-2代表密锁不存在
    返回值为-1表示密锁没有设置终止时间*/
  • 取消密锁存在时间:PERSIST connection
  • 查询所有的键:keys *
  • 获取键对应得值类型:type name

列表

  • 将元素放在列表开头或末尾
    1
    2
    3
    4
    5
    6
    RPUSH STRS A //在末尾放元素
    LPUSH STRS B //在开头放元素

    RPUSH STRS A B C
    LPUSH STRS A B C
    /*在操作后返回列表的总长度*/
  • 检索列表
    1
    2
    3
    LRANGE STRS 0 2
    /*第二个参数的值-1表示检索元素直到列表的末尾
    -2表示检索到倒数第二个*/
  • 从列表中删除第一个元素并返回它:LPOP STRS
  • 从列表中删除最后一个元素并返回它:RPOP STRS
  • 返回列表长度:LLEN STRS
  • 列表优点:保存元素顺序,快速访问顶部或底部元素

    集合

  • 向集合中放入元素
    1
    2
    SADD color "green"
    SADD color "black" "red"
  • 从集合中删除元素
    1
    2
    SREM color "green"
    /*返回1表示存在,返回0表示不存在*/
  • 检查集合中是否存在元素: SISMEMBER color "red" /*返回1表示存在,返回0表示不存在*/
  • 检索集合中的全部元素:SMEMBERS color
  • 检索多个集合中的元素:SUNION color color2
  • 删除随机元素并返回:SPOP color 3
  • 集合优点:集合中可以快速测试成员资格,但元素间没有特定的顺序

    排序集

  • 向排序集中放入元素
    1
    2
    3
    4
       ZADD hackers 1940 "Alan Kay"
    ZADD hackers 1906 "Grace Hopper"
    ZADD hackers 1953 "Richard Stallman"
    ZADD hackers 1965 "Yukihiro Matsumoto"
  • 检索排序集ZRANGE hackers 2 4
  • 排序集优点:排序的~

哈希(map)

  • 放入数据
    1
    2
    3
    4
    5
    HSET user:1000 name "John Smith"
    HSET user:1000 email "john.smith@example.com"
    HSET user:1000 password "s3cret"

    HMSET user:1001 name "Mary" password "hidden" email "xxx.com"
  • 获取键对
    1
    2
    3
    HGETALL user:1000/*获取全部键对*/

    HGET user:1001/*获取单个键对*/

持久化

  • 默认持久化:BDR
    1
    2
    3
    4
    /*编辑redis.windows.conf文件*/
    save 60 10 每60秒如果有10个键改变,持久化一次
    /*启动服务器*/
    redis-server.exe redis.windows.conf
  • AOF
    1
    2
    3
    4
    5
    6
    7
    8
    /*编辑redis.windows.conf文件*/
    appendonly yes 开启
    appendonly no 关闭
    appendfsync always 每次操作都持久化一次
    apppendfsync everysec 每隔一秒持久化一次
    appendfsync no 不进行持久化
    /*启动服务器*/
    redis-server.exe redis.windows.conf
    未完待续
    在Java中使用Redis详见 Jedis使用文档