Redis教程

Redis基础操作

本文主要是介绍Redis基础操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

NoSQL:

NoSQL 表示为“非关系SQL”,不支持多表查询,没有表和关系的概念,主要在内存中操作<效率更高>。

Redis:

redis 是一个免费开源的NoSQL产品,使用 ANSI C 语言编写,是一个 key-value 存储系统。支持的存储的 value包括<string,hash,list,set,zset(sorted-set==有序集合)>。

redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件中。

1、Redis基本操作

启动服务端
redis-server
启动客户端
redis-cli
启动支持中文的客户端
redis-cli --raw
运行测试命令
ping
切换数据库
  • 数据库本身没有名称,默认16个,通过0-15来标识,例如选中编号为1的数据库:

    select 1
    
  • redis在初始化时,默认选择0号数据库

redis键值对说明
  • redis 是 key-value 的数据结构
  • 每条数据都是一个键值对
  • 键的类型是字符串
  • 值的类型分为五种:字符串-string,哈希-hash,列表-list,无序集合-set,有序集合-zset
redis基本操作
  • 如果设置的键不存在则为添加、如果已经存在则为修改

  • redis 中字符串可以使用单引号或者双引号,也可以省略引号

  • 设置键值

    set key value
    
  • 设置键值以及过期时间

    set key senconds value 
    
  • 设置多个键值对

    mset key1 vlaue1 key2 value2...........
    
  • 追加值

    append key value
    
  • 获取单个值

    get key
    
  • 获取多个值

    mget key1 key2 ............
    
  • 删除键以及其对应值

    del key1 key2 ..........
    
键命令
  1. 查找键

    • 参数支持正则表达式,找到键,返回键名,找不到返回空

      keys pattern
      ======================
      例如:
      1.查找所有键  keys "*"
      2.查找包含s的键  keys "*s*"
      

    2.判断键是否存在

    exists key <返回1表示存在>
    

    3.查看键对应的 value 类型

    type key
    

    4.设置键过期的单位

    • 以秒为单位

    • 如果没有指定的国企时间则一直存在 直到通过del 移除

      expire key seconds
      

    5.查看键有效时间

    • 以秒为单位

      • 返回大于0,代表有效时间,单位:秒
      • 返回-1,表示永久有效
      • 返回-2,表示键不存在
      ttl key
      

2、哈希

hash介绍
  • hash用于存储“键值对”集合
  • hash中的值的类型为string
  • 同一个哈希中字段名不可重复
图片名称
增加、删除
  • 设置单个字段

    hset key field value --- 其中<field value> 对应哈希表中的<key value>
    
  • 设置多个字段

    hmset key filed1 value1 field2 value2 ......
    
  • 获取指定键所有的字段

    hkeys key
    
  • 获取一个字段的值

    hget key field
    
  • 获取多个字段的值

    hmget key field1 field2
    
  • 获取所有字段的值

    hvals key
    
  • 获取所有字段名包括字段对应的值

    hgetall key
    
删除
  • 删除hash中的指定字段

    • 字段对应的值会一起被删除
    hdel key field1 field2..........
    
  • 删除整个hash键以及字段和值,使用del命令

    del key1 key2..........
    

3、列表List

list介绍
  • 列表中的值类型为字符串
  • 列表中的每个值按照添加顺序排序
图片名称
增加
  • 从左侧插入值<头插>

    lpush key value1 value2
    
  • 从右侧插入值<尾插>

    rpush key value1 value2
    
  • 在指定值的前或者后插入值

    linsert key before/after value new-value
    
获取
  • 返回列表中指定范围内的值

    • 索引从左侧开始,第一个值的索引为0
    • 索引可以为负数,表示从尾部开始计数,如:-1表示最后一个值
    • start,stop为所要获取值的索引
    lrange key start stop <start stop认为是闭包含的范围> 
    
修改
  • 设置指定索引的值

    • 索引从左侧开始,第一个值的索引为0
    • 索引可以是负数,表示从尾部开始,-1代表最后一个值
    lset key index value
    
删除
  • 删除指定的值

    • 将列表中前 count 次出现的值移除
    • count > 0:从头往尾删除
    • count < 0:从尾往头删除
    • count = 0:删除所有值
    lrem key count value
    

4、无序集合 set

set介绍
  • 无序集合中值类型为字符串
  • 集合中不允许有重复的值
  • 对于集合中的值,只能添加和删除,不能修改
增加
  • 集合中添加值

    sadd key value1 value2.........
    
获取
  • 返回所有值

    smembers key
    
删除
  • 删除指定的值

    srem key value
    

5、有序集合zset

zset介绍
  • 有序集合中的值类型为字符串
  • 集合中不允许有重复的值
  • 每个值都会关联一个分数,分数可以为附属,通过分数将值从小到大排序
  • 对于集合中的值,只能添加和删除,不能修改
图片名称
添加
  • 添加值

    zadd key score1 value1 score2 value2
    
获取
  • 返回指定范围内的值

    • start,stop为值的下标索引
    • 第一个值的索引为0
    • 索引可以为负数,表示从尾部开始计数,-1表示最后一个值
    • withscores:同时获取值对应的分数(score)
    zrange key start stop[withscores]
    
  • 返回分数(score)在 min 和 max 之间的值

    zrangebyscore key min max
    
  • 返回值 value 的分数(score)

    zscore key value
    
删除
  • 删除指定的值

    zrem key value1 value2........
    
  • 删除分数(score)在指定范围之间的值

    zremrangebyscore key min max
    

软件工程基本知识

软件测试生命周期

这篇关于Redis基础操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!