zoukankan      html  css  js  c++  java
  • Redis——总结

    启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。

    $redis-cli
    redis 127.0.0.1:6379>
    redis 127.0.0.1:6379> PING
    
    PONG

    在以上实例中我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。

    在远程服务上执行命令

    如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。

    语法

    $ redis-cli -h host -p port -a password

    实例

    以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。

    $redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
    redis 127.0.0.1:6379>
    redis 127.0.0.1:6379> PING
    
    PONG

    redis数据库有哪几种数据结构?

    5种数据结构

    string

    使用string时,redis**大多数情况下**并不会理解或者解析其含义,无论使用json、xml还是纯文本在redis看来都是一样的,只是一个字符串,只能进行strlen、append等对字符串通用的操作,无法针对其内容进一步操作。其基本操作命令有set、get、strlen、getrange、append:

    在大多数情况之外,就是string中存储的为纯数字的情况,redis可以将字符串当做数字进行进一步操作,这些操作包括decr、decrby、incr、incrby和incrbyfloat。

    hash

    使用hash时,在我看来,就是value本身就是一组key-value对,不过redis将这里的key称为field(但是hkeys命令为什么不叫hfields命令呢哈哈),也就是value是一组field-value对。其基本操作命令有hset、hget、hmset、hmget、hgetall、hkeys和hdel:

    list

    使用list时,value就是一个string数组,操作这组string时,可以像对待栈一样使用pop和push操作,但是这个栈两端都能进行操作;也可以像对待数组一样使用一个index参数来操作。list的操作命令略杂,主要分为两类:L开头的和R开头的,L代表LEFT或者LIST,进行一些从列表左端进行的操作,或者一些与端无关的操作;R代表RIGHT,进行一些从列表右端进行的操作。

    set

    set用于存储一组不重复的值,也可以进行一些集合的操作,就像数学上的集合,它是无序的。基本操作有sadd和sismember:

    集合操作有:求交sinter、求并sunion和求差sdiff:

    sorted set

    sorted set类似set,但是sorted set里每个元素都有一个score,这个score可用于排序和排名。基本操作有zadd、zcount、zrank:

     

    string

    • string是redis最基本的类型
    • 最大能存储512MB数据
    • string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等

    命令

    设置

    • 设置键值
    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 ...]
    
    • 设置过期时间,以秒为单位
    • 创建时没有设置过期时间则一直存在,直到使用使用DEL移除
    EXPIRE key seconds
    
    • 查看有效时间,以秒为单位
    TTL key

    hash

    • hash用于存储对象,对象的格式为键值对

    命令

    设置

    • 设置单个属性
    HSET key field 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

    • 列表的元素类型为string
    • 按照插入顺序排序
    • 在列表的头部或者尾部添加元素

    命令

    设置

    • 在头部插入数据
    LPUSH key value [value ...]
    
    • 在尾部插入数据
    RPUSH key value [value ...]
    
    • 在一个元素的前|后插入新元素
    LINSERT key BEFORE|AFTER pivot value
    
    • 设置指定索引的元素值
    • 索引是基于0的下标
    • 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
    LSET key index value
    

    获取

    • 移除并且返回 key 对应的 list 的第一个元素
    LPOP key
    
    • 移除并返回存于 key 的 list 的最后一个元素
    RPOP key
    
    • 返回存储在 key 的列表里指定范围内的元素
    • start 和 end 偏移量都是基于0的下标
    • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
    LRANGE key start stop
    

    其它

    • 裁剪列表,改为原集合的一个子集
    • start 和 end 偏移量都是基于0的下标
    • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
    LTRIM key start stop
    
    • 返回存储在 key 里的list的长度
    LLEN key
    
    • 返回列表里索引对应的元素
    LINDEX key index

    set

    • 无序集合
    • 元素为string类型
    • 元素具有唯一性,不重复

    命令

    设置

    • 添加元素
    SADD key member [member ...]
    

    获取

    • 返回key集合所有的元素
    SMEMBERS key
    
    • 返回集合元素个数
    SCARD key
    

    其它

    • 求多个集合的交集
    SINTER key [key ...]
    
    • 求某集合与其它集合的差集
    SDIFF key [key ...]
    
    • 求多个集合的合集
    SUNION key [key ...]
    
    • 判断元素是否在集合中
    SISMEMBER key member

    zset

    • sorted set,有序集合
    • 元素为string类型
    • 元素具有唯一性,不重复
    • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
    • 元素的score可以相同

    命令

    设置

    • 添加
    ZADD key score member [score member ...]
    

    获取

    • 返回指定范围内的元素
    ZRANGE key start stop
    
    • 返回元素个数
    ZCARD key
    
    • 返回有序集key中,score值在min和max之间的成员
    ZCOUNT key min max
    
    • 返回有序集key中,成员member的score值
    ZSCORE key member
     
  • 相关阅读:
    详解Winform多线程编程基本原理
    asp.net 文件夹和文件的创建、删除
    sql server 查询表名,存储过程,列名等
    随机输出数组中的一个数
    C# 获取Access数据库中所有表名及其列名、列类型
    Oracle 数据库小记
    Oracle11g、PLSQL、Winfrom环境搭建
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    Android开发中用到的框架、库介绍
    Android数据存储
  • 原文地址:https://www.cnblogs.com/lmx123/p/9233050.html
Copyright © 2011-2022 走看看