zoukankan      html  css  js  c++  java
  • Redis基础操作

    1.字符串(String)相关操作

    set --设置值

    127.0.0.1:6379> set animal 'Cat'
    OK

    get --获取值

    127.0.0.1:6379> get animal
    "Cat"

    mset --设置多个键值对

    127.0.0.1:6379> mset user1 'John' user2 'Amy'
    OK

    mget --获取多个键值对

    127.0.0.1:6379> mget user1 user2
    1) "John"
    2) "Amy"

    append --添加字符串(set会覆盖原来的值)

    127.0.0.1:6379> set animal "Dog"
    OK
    127.0.0.1:6379> get animal
    "Dog"
    127.0.0.1:6379> append animal " Cat"
    (integer) 7
    127.0.0.1:6379> get animal
    "Dog Cat"

    del --删除

    127.0.0.1:6379> del animal
    (integer) 1
    127.0.0.1:6379> get animal
    (nil)

    incre/decr --增加/减少 1

    127.0.0.1:6379> set num 10
    OK
    127.0.0.1:6379> incr num
    (integer) 11
    127.0.0.1:6379> get num
    "11"
    127.0.0.1:6379> decr num
    (integer) 10
    127.0.0.1:6379> get num
    "10"

    2.列表(List)相关操作

    lpush/rpush --从左、右插入数据

    127.0.0.1:6379> lpush q1 "John" "Cat" "Amy"
    (integer) 3
    127.0.0.1:6379> llen q1
    (integer) 3
    127.0.0.1:6379> rpush q1 "Bob"
    (integer) 4
    127.0.0.1:6379> lrange q1 0 8888
    1) "Amy"
    2) "Cat"
    3) "John"
    4) "Bob"

    lrange -- 获取指定长度

    127.0.0.1:6379> lrange q1 0 -1
    1) "Amy"
    2) "Cat"
    3) "John"

    ltrim --截取一定长度的数据

    127.0.0.1:6379> ltrim q1 0 2
    OK
    127.0.0.1:6379> lrange q1 0 -1
    1) "Zhang1"
    2) "Oku"
    3) "Amy"

    lpop/rpop --移除最左的/右的元素并返回

    127.0.0.1:6379> lrange q1 0 -1
    1) "Oku"
    2) "Amy"
    127.0.0.1:6379> rpop q1
    "Amy"
    127.0.0.1:6379> lrange q1 0 -1
    1) "Oku"

    lpushx/rpushx --key存在的时候才插入数据,不存在时不做任何处理

    127.0.0.1:6379> lpushx q1 "Zhang1"
    (integer) 6
    127.0.0.1:6379> lrange q1 0 -1
    1) "Zhang1"
    2) "Oku"
    3) "Amy"
    4) "Cat"
    5) "John"
    6) "Bob"
    127.0.0.1:6379> rpushx q1 "hu2"
    (integer) 7
    127.0.0.1:6379> lrange q1 0 -1
    1) "Zhang1"
    2) "Oku"
    3) "Amy"
    4) "Cat"
    5) "John"
    6) "Bob"
    7) "hu2"
    

      127.0.0.1:6379> rpushx q2 "Amy"
      (integer) 0
      127.0.0.1:6379> lpushx q2 "Amy"
      (integer) 0

    3.集合(Set)相关操作

    sadd/srem --添加/删除元素

    127.0.0.1:6379> sadd zoo Cat Dog
    (integer) 2
    127.0.0.1:6379> smembers zoo
    1) "Cat"
    2) "Dog"
    127.0.0.1:6379> srem zoo Cat
    (integer) 1
    127.0.0.1:6379> srem zoo Cat
    (integer) 0
    127.0.0.1:6379> smembers zoo
    1) "Dog"
    127.0.0.1:6379> sadd zoo Cat
    (integer) 1
    127.0.0.1:6379> smembers zoo
    1) "Cat"
    2) "Dog"

    sismember--判断是否为set的一个元素

    127.0.0.1:6379> sismember zoo Cat
    (integer) 1
    127.0.0.1:6379> sismember zoo Cow
    (integer) 0

    smembers --返回该集合的所有成员

    sdiff --返回一个集合与其他集合的差异

    127.0.0.1:6379> sdiff zoo zoo1
    1) "Dog"
    127.0.0.1:6379> sdiff zoo1 zoo
    1) "Cow"

    sinter --返回几个集合的交集 

    127.0.0.1:6379> sinter zoo1 zoo
    1) "Cat"
    127.0.0.1:6379> sinter zoo zoo1
    1) "Cat"

    sunion --返回几个集合的并集

    127.0.0.1:6379> sunion zoo zoo1
    1) "Cat"
    2) "Cow"
    3) "Dog"
    127.0.0.1:6379> sunion zoo1 zoo
    1) "Cat"
    2) "Dog"
    3) "Cow" 

    4.散列(Hash)相关操作

    hset/hget --设置/获取散列值

    127.0.0.1:6379> hset news:1 title "News Title"
    (integer) 1
    127.0.0.1:6379> hset news:1 content "News Content"
    (integer) 1
    127.0.0.1:6379> hget news:1 title
    "News Title"
    127.0.0.1:6379> hget news:1 content
    "News Content"

    hmset/hmget --设置/获取多对散列值

    127.0.0.1:6379> hmget news:1 title content
    1) "News Title"
    2) "News Content"
    127.0.0.1:6379> hmset news:2 title "Title2" content "Content2" is_valid 1
    OK
    127.0.0.1:6379> hmget news:2 title content is_valid
    1) "Title2"
    2) "Content2"
    3) "1"

    hsetnx --如果散列已经存在,则不设置

    hkeys/hvals --返回所有Keys/Values

    127.0.0.1:6379> hkeys news:1
    1) "title"
    2) "content"
    127.0.0.1:6379> hkeys news:2
    1) "title"
    2) "content"
    3) "is_valid"
    127.0.0.1:6379> hvals news:1
    1) "News Title"
    2) "News Content"
    127.0.0.1:6379> hvals news:2
    1) "Title2"
    2) "Content2"
    3) "1"

    hlen -- 返回散列包含域(field)的数量

    127.0.0.1:6379> hlen news:1
    (integer) 2
    127.0.0.1:6379> hlen news:2
    (integer) 3

    hdel --删除散列指定的域(field)

    127.0.0.1:6379> hdel news:2 is_valid
    (integer) 1
    127.0.0.1:6379> hlen news:2
    (integer) 2

    hexists --判断是否存在

    127.0.0.1:6379> hexists news:2 is_valid
    (integer) 0
    127.0.0.1:6379> hset news:2 is_valid 1
    (integer) 1
    127.0.0.1:6379> hexists news:2 is_valid
    (integer) 1
    人生苦短,何不用python
  • 相关阅读:
    桌面快捷方式图标问题的修复
    Visual Studio 2015简体中文版
    开源资源记录
    如何在InstallShield的MSI工程中调用Merge Module的Custom Action
    使用Open Live Writer写博客
    使用Window Media Player网页播放器
    Nginx日志常用统计分析命令
    Jetty 开发指南:嵌入式开发示例
    Jetty 开发指南: 嵌入式开发之HelloWorld
    使用Semaphore控制对资源的多个副本的并发访问
  • 原文地址:https://www.cnblogs.com/yqpy/p/9141270.html
Copyright © 2011-2022 走看看