zoukankan      html  css  js  c++  java
  • Redis学习之二 数据类型和相关命令

    原文:https://www.cnblogs.com/lonelyxmas/p/9073928.html

      如果还不懂安装的,请看 Windows环境下安装Redis

    Redis一共支持五种数据类型

    1、string(字符串)
    2、hash(哈希)
    3、list(列表)
    4、set(集合)
    5、zset(sorted set 有序集合)

    一、string

    string(字符串),是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。

    128.127.0.0.1:6379> set key "hello world"
    OK
    127.0.0.1:6379> get key
    "hello world"
    127.0.0.1:6379> getset key "nihao"
    "hello world"
    127.0.0.1:6379> mset key1 "hi" key2 "nihao" key3 "hello"
    OK
    127.0.0.1:6379> get key1
    "hi"
    127.0.0.1:6379> get key2
    "nihao"
    127.0.0.1:6379> get key3
    "hello"

    相关命令介绍

    set 为一个Key设置value(值)
    get 获得某个key对应的value(值)
    getset 为一个Key设置value(值)并返回对应的值
    mset 为多个key设置value(值)

    二、hash

    hash(哈希),是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象

    128.127.0.0.1:6379> hset redishash 1 "001"
    (integer) 1
    127.0.0.1:6379> hget redishash 1
    "001"
    127.0.0.1:6379> hmset redishash 1 "001" 2 "002"
    OK
    127.0.0.1:6379> hget redishash 1
    "001"
    127.0.0.1:6379> hget redishash 2
    "002"
    127.0.0.1:6379> hmget redishash 1 2
    1) "001"
    2) "002"

    相关命令介绍

    hset 将Key对应的hash中的field配置为value,如果hash不存则自动创建,
    hget 获得某个hash中的field配置的值
    hmset 批量配置同一个hash中的多个field值
    hmget 批量获得同一个hash中的多个field值

    三、list

      list(列表),是redis简单的字符串列表,它按插入顺序排序

    128.127.0.0.1:6379> lpush word  hi
    (integer) 1
    127.0.0.1:6379> lpush word  hello
    (integer) 2
    127.0.0.1:6379> rpush word  world
    (integer) 3
    127.0.0.1:6379> lrange word 0 2
    1) "hello"
    2) "hi"
    3) "world"
    127.0.0.1:6379> llen word
    (integer) 3

    相关命令介绍

    lpush 向指定的列表左侧插入元素,返回插入后列表的长度
    rpush 向指定的列表右侧插入元素,返回插入后列表的长度
    llen 返回指定列表的长度
    lrange 返回指定列表中指定范围的元素值

    四、set

    set(集合),是string类型的无序集合,也不可重复

    128.127.0.0.1:6379> sadd redis redisset
    (integer) 1
    127.0.0.1:6379> sadd redis redisset1
    (integer) 1
    127.0.0.1:6379> sadd redis redisset2
    (integer) 1
    127.0.0.1:6379> smembers redis
    1) "redisset1"
    2) "redisset"
    3) "redisset2"
    127.0.0.1:6379> sadd redis redisset2
    (integer) 0
    127.0.0.1:6379> smembers redis
    1) "redisset1"
    2) "redisset"
    3) "redisset2"
    127.0.0.1:6379> smembers redis
    1) "redisset1"
    2) "redisset3"
    3) "redisset"
    4) "redisset2"
    127.0.0.1:6379> srem redis redisset
    (integer) 1
    127.0.0.1:6379> smembers redis
    1) "redisset1"
    2) "redisset3"
    3) "redisset2"

    相关命令介绍

    sadd 添加一个string元素到key对应的set集合中,成功返回1,如果元素存在返回0
    smembers 返回指定的集合中所有的元素
    srem 删除指定集合的某个元素

    五、zset

    zset(sorted set 有序集合),是string类型的有序集合,也不可重复。

    zset中的每个元素都需要指定一个分数,根据分数对元素进行升序排序;如果多个元素有相同的分数,则以字典序进行升序排序;因此,非常适合实现排名。

    128.127.0.0.1:6379> zadd nosql 0 001
    (integer) 1
    127.0.0.1:6379> zadd nosql 0 002
    (integer) 1
    127.0.0.1:6379> zadd nosql 0 003
    (integer) 1
    127.0.0.1:6379> zcount nosql 0 0 
    (integer) 3
    127.0.0.1:6379> zcount nosql 0 3
    (integer) 3
    127.0.0.1:6379> zrem nosql 002
    (integer) 1
    127.0.0.1:6379> zcount nosql 0 3
    (integer) 2
    127.0.0.1:6379> zscore nosql 003
    "0"
    127.0.0.1:6379> zrangebyscore nosql 0 10
    1) "001"
    2) "003"
    127.0.0.1:6379> zadd nosql 1 003
    (integer) 0
    127.0.0.1:6379> zadd nosql 1 004
    (integer) 1
    127.0.0.1:6379> zrangebyscore nosql 0 10
    1) "001"
    2) "003"
    3) "004"
    127.0.0.1:6379> zadd nosql 3 005
    (integer) 1
    127.0.0.1:6379> zadd nosql 2 006
    (integer) 1
    127.0.0.1:6379> zrangebyscore nosql 0 10
    1) "001"
    2) "003"
    3) "004"
    4) "006"
    5) "005"

    相关命令介绍

    zadd 向指定的sorteset中添加1个或多个元素
    zrem 从指定的sorteset中删除1个或多个元素
    zcount 查看指定的sorteset中指定分数范围内的元素数量
    zscore 查看指定的sorteset中指定分数的元素
    zrangebyscore 查看指定的sorteset中指定分数范围内的所有元素

    六、键值相关的命令

    128.127.0.0.1:6379> exists key
    (integer) 1
    127.0.0.1:6379> exists key1
    (integer) 1
    127.0.0.1:6379> exists key100
    (integer) 0
    127.0.0.1:6379> get key
    "nihao,hello"
    127.0.0.1:6379> get key1
    "hi"
    127.0.0.1:6379> del key1
    (integer) 1
    127.0.0.1:6379> get key1
    (nil)
    127.0.0.1:6379> rename key key0
    OK
    127.0.0.1:6379> get key
    (nil)
    127.0.0.1:6379> get key0
    "nihao,hello"
    127.0.0.1:6379> type key0
    string

    exists   确认key是否存在
    del        删除key
    expire  设置Key过期时间(单位秒)
    persist 移除Key过期时间的配置
    rename 重命名key
    type     返回值的类型

    七、Redis服务相关的命令

    128.127.0.0.1:6379> select 0
    OK
    127.0.0.1:6379> info
    # Server
    redis_version:3.0.6
    redis_git_sha1:00000000
    redis_git_dirty:0
    redis_build_id:347e3eeef5029f3
    redis_mode:standalone
    os:Linux 3.10.0-693.el7.x86_64 x86_64
    arch_bits:64
    multiplexing_api:epoll
    gcc_version:4.8.5
    process_id:31197
    run_id:8b6ec6ad5035f5df0b94454e199511084ac6fb12
    tcp_port:6379
    uptime_in_seconds:8514
    uptime_in_days:0
    hz:10
    lru_clock:14015928
    config_file:/usr/local/redis/redis.conf
    -------------------省略N行
    127.0.0.1:6379> CONFIG GET 0
    (empty list or set)
    127.0.0.1:6379> CONFIG GET 15
    (empty list or set)

    slect 选择数据库(数据库编号0-15)
    quit 退出连接
    info 获得服务的信息与统计
    monitor 实时监控
    config get 获得服务配置
    flushdb 删除当前选择的数据库中的key
    flushall 删除所有数据库中的key

     

  • 相关阅读:
    python day1
    Vue与react的择决
    CommonJS规范
    js面向对象的程序设计
    正则匹配所有的a标签
    js-静态、原型、实例属性
    js中参数不对应问题
    sublime常用快捷键
    JSON.parse()和JSON.stringify()
    setAttribute()
  • 原文地址:https://www.cnblogs.com/xcsn/p/9436528.html
Copyright © 2011-2022 走看看