Redis 键(key)
Redis 键命令用于管理 redis 的键。
redis任何数据类型都有key
--删除key的命令
redis> del key
Redis 事务
Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证: .批量操作在发送 EXEC 命令前被放入队列缓存。
.收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
.在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。 单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。
事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。
Redis 数据库
Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。
Redis是一个字典结构的存储服务器,而实际上一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。
这与我们熟知的在一个关系数据库实例中可以创建多个数据库类似,所以可以将其中的每个字典都理解成一个独立的数据库。 每个数据库对外都是一个从0开始的递增数字命名,Redis默认支持16个数据库(可以通过配置文件支持更多,无上限),
可以通过配置databases来修改这一数字。客户端与Redis建立连接后会自动选择0号数据库,不过可以随时使用SELECT命令更换数据库,如要选择1号数据库: 命令行语法
--选择数据库
redis> SELECT
OK
redis [] > GET foo
(nil) 然而这些以数字命名的数据库又与我们理解的数据库有所区别。首先Redis不支持自定义数据库的名字,每个数据库都以编号命名,
开发者必须自己记录哪些数据库存储了哪些数据。另外Redis也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,
要么连一个数据库也没有权限访问。最重要的一点是多个数据库之间并不是完全隔离的,比如FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据。
综上所述,这些数据库更像是一种命名空间,而不适宜存储不同应用程序的数据。比如可以使用0号数据库存储某个应用生产环境中的数据,使用1号数据库存储测试环境中的数据,
但不适宜使用0号数据库存储A应用的数据而使用1号数据库B应用的数据,不同的应用应该使用不同的Redis实例存储数据。
由于Redis非常轻量级,一个空Redis实例占用的内在只有1M左右,所以不用担心多个Redis实例会额外占用很多内存。

最新文章

  1. Java Web解决解析乱码和响应乱码
  2. signalr-源码
  3. ps 文字处理篇
  4. 字符集和字符编码(Charset & Encoding)
  5. CSS3盒模型display初探(display:box/display:flex)
  6. C#序列化JSON
  7. JSP中的EL
  8. Data Flow ->> Look up & Merge Join
  9. 零基础Android学习笔记-03 窗口间的数据传递
  10. Oracle 课程八之跟踪事件set event
  11. 带约束优化问题 拉格朗日 对偶问题 KKT条件
  12. http协议通信原理的问答
  13. POJ 1013 Counterfeit Dollar 集合上的位运算
  14. js禁止浏览器滚屏方法
  15. Laravel Cache 使用
  16. Mybatis学习笔记二
  17. Asp.Net Core get client IP
  18. Java 接口 Cloneable
  19. 移动端滑屏全应用【一】cssHandler操作基础动画函数封装
  20. hibernate例子

热门文章

  1. mui封装做好的手机版网站为apk
  2. [svc]高并发场景 LVS DR +KeepAlive高可用实现及ka的persistence_timeout参数
  3. Android 源码阅读笔记
  4. OVAL学习笔记
  5. k8s相关文档
  6. calcite 理论
  7. how many shards and replicas should be set for Elastic Search
  8. C++11 构造函数的改动
  9. 【Android】Android消息处理机制
  10. 【ARM】2440裸机系列-RTC数字时钟