Redis学习(一)-Redis介绍

Redis介绍

       Redis 是一个开源免费的,遵守BSD协议的高性能key-value数据库。

 

Redis特点

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

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

Redis优势

  • 性能极高 – Redis能读的速度是110000/s,写的速度是81000/s
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTIEXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis支持的数据类型

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

  • String

              set key value/get key

  • Hash

              hset key field value/hget key value

  • List

              lpush key value1 [value2,value3]/rpush key value1 [value2,value3]   lpop key/rpop key

  • Set

              sadd key value1 [value2,value3]/srem key value1 [value2,value3]/spop key/ smembers key

  • Sorted set

        zadd kry value1 [value2,value3]/zrem key value1 [value2,value3]/zrange key start end

 

Redis的事务

涉及到的相关命令:MULTI/EXEC/WATCH/UNWATCH/DISCARD

 

MULTI/EXEC

redis通过MULTI 和 EXEC 来完成事务的操作

 

通过MULTI命令,服务器返回ok,表示接下来的命令都在事务中

插入的所有的操作,服务器都会返回QUEUED,表示命令已接受

通过EXEC命令,表示事务结束,服务器执行刚刚保存的命令执行,返回成功提示OK,一个命令对应一个ok

 

 

  事务的错误处理:

 

语法错误

  现在的版本中,如果命令的语法有错误,那么所有的命令都不会被执行;

命令错误

  如果执行的命令发生了错误,其他命令还会被正常执行,不会进行回滚

 

 

 WATCH/UNWATCH/DISCARD

 

 watch 用于监控一个或一组key,保证在当前客户端的事务执行之前key不被改变,如果改变,事务不执行

 unwatch 用在事务之前,用来取消对key的监控

 discard 用在multi之后 exec之前,用于取消整个事务

      


                                                                              欢迎来刚申请的公众号一起交流学习

猜你喜欢

转载自blog.csdn.net/qq_23585245/article/details/88385605