Linux_Redis数据库

一、Redis概述

1.1 Redis 介绍

       Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

       Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色

       Redis的官网: https://redis.io/

1.2 Redis 特性

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 SortedSets  数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

总结:

  1. Redis是非关系型数据库,可以把数据保存在内存中或者硬盘中
  2. Redis存取数据的效率高
  3. Redis 是以key-value的形式存储数据,能存储Strings, Lists, Hashes, Sets 及 SortedSets 数据类型的数据

二、Redis 的下载及安装

未来补充

三、Redis 数据类型与常见操作

3.1 Redis 数据类型介绍

       redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。

3.2 string 类型常见操作

  • SET key value  设定该Key持有指定的字符串Value
  • GET key  获取指定Key的Value
  • MSET key value [key value ...]         同时设置多个key和value
  • MGET key [key ...]  同时获取多个key的值
  • SETNX key value    设置该Key持有指定的字符串Value(如果key存在就不做任何操作)
  • MSETNX key value [key value ...]    设置多个值(原子性的:其中一个key存在就不做任何操作)
  • APPEND key value   拼接字符串
  • STRLEN key     返回指定Key的字符值长度
  • SETRANGE key offset value  替换指定Key的部分字符串值
  • GETRANGE key start end  截取字符串

3.3 list 类型常见操作

  • LPUSH key value [value ...]   添加键和对应的多个值
  • LRANGE key start stop      查询该键对应的值
  • LLEN key 查询该键有多少个值
  • LREM key count value  删除指定键中前count个值等于value的元素
  • LSET key index value  修改指定键中指定索引位置的value
  • LINDEX key index 获取指定键指定索引位置的value
  • LINSERT key BEFORE|AFTER pivot value---à  linsert list before 3 4

3.4 hash 类型常见操作

  • HSET key field value  为指定的Key设定Field/Value对
  • HGET key field     获取指定Key中指定Field的关联值
  • HEXISTS key field       判断指定Key中的指定Field是否存在
  • HLEN key      获取该Key所包含的Field的数量。
  • HDEL key field [field ...]     从指定Key的Hashes Value中删除参数中指定的多个字段,如果不存在的字段将被忽略。
  • HGETALL key 获取该键包含的所有Field/Value
  • HKEYS key   获取指定Key的所有Fields名
  • HVALS key    返回指定Key的所有Values名。   
  • HMSET key field value [field value ...] 逐对依次设置参数中给出的Field/Value对
  • HMGET key field [field ...]        获取和参数中指定Fields关联的一组Values。

3.5 set 类型常见操作

  • SADD key member [member ...] 添加键和对应的值
  • SMEMBERS key   获取与该Key关联的Set中所有的成员
  • SCARD key    获取Set中成员的数量
  • SREM key member [member ...]    从与Key关联的Set中删除参数中指定的成员
  • SDIFF key [key ...] 获取第一个key和后面所有key中不同的部分
  • SINTER key [key ...]  获取所有Keys关联的Sets中成员的交集
  • SUNION key [key ...]  获取所有Keys关联的Sets中成员的并集

3.6 sortedSet 类型常见操作

  • ZADD key score member [score] [member] 添加成员
  • ZCARD key    统计个数
  • ZRANGE key start stop [WITHSCORES] 根据索引获取成员
  • ZRANGEBYSCORE key min max  根据分数获取成员
  • ZRANK key member  获取成员的索引位置
  • ZSCORE key member 获取成员的分数
  • ZREM key member [member ...]    删除成员

3.7 其他操作

  • KEYS pattern 获取所有匹配pattern参数的Keys
  • DEL key [key ...]   删除指定的keys
  • EXPIRE key seconds  为参数中指定的Key设定超时的秒数,在超过该时间后,Key被自动的删除
  • PERSIST key 取消key的过期时间
  • TTL key    获取该键所剩的超时描述

3.8 事务操作

  • MULTI 开启事务
  • EXEC   执行事务
  • DISCARD 取消事务

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(数据库,Linux)