什么是NoSQL?
泛指非关系型的数据库
不支持SQL语法
存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是Key-Value(即键值对关系)形式
NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景
NoSQL中的产品种类相当多,Mongodb,Redis,Hbase hadoop,Cassandra hadoop等。
NoSQL和SQL数据库的比较:
适用场景不同:sql数据库适合用于关系特别复杂的数据查询场景,nosql反之
“事务”特性的支持:sql对事务的支持非常完善,而nosql基本不支持事务
两者在不断地取长补短,呈现融合趋势
Redis:
  是一款性能极高的nosql,读写速度非常快,非常适合用来做缓存。它拥有丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
 
数据操作(Ubuntu环境下):
  Redis以key-value形式存储数据,key为字符串 Value: 字符串,hash表,list集合,set集合,zset集合 五种类型。
  字符串类型:
基本键值对: set key value
键值对,有效期: setex key second value
设置多个键值对: mset key1 value1 key2 value2 ..
追加值: append key value
获取值:
1.获取基本值: get key
2.获取多个值: mget key1 key2 ..
查看键:
1.查看所有的键: keys *
2.查看以a开头的键: keys a*
3.看键是否存在: exists key
4.查看键的类型: type key1
删除键值对:
1.删除键: del key1 key2 ..
2.设置键有效期,删除键:expire key seconds
3.查看键的有效期: ttl key
hash类型 增加数据
1.增加域的key和值: hset key field value
2.设置域的多个属性: hmset key filed1 value1 field2 value2…
获取数据:
1.获取域的属性(字段): hget key field
2.获取域的多个属性: hmget key filed1 field2..
3.获取域的所有属性(字段): hkeys key
删除数据:
1.删除多个属性值(字段): hdel key field1 field2…
list类型: 插入数据:
1.左侧插入数据: lpush key value1 value2 …
2.右侧插入数据: rpush key value1 value2 …
3.指定key,旧元素位置前插入元素: 格式:linsert key before oldvalue newvalue
4.指定key,旧元素位置后插入元素: 格式:linsert key after oldvalue newvalue
获取数据:
1.获取从编号start位置到编号stop位置的元素: 格式:lrange key start stop (注意点,最后一个元素可以使用-1表示)
2.设置指定索引位置的元素值: lset key index value
删除数据:
1.将key域列表中,前count次,值为value的元素删除:
格式:lrem key count value
count:需要删除的个数      
value: 需要删除的值    
count>0:从头开始数, count<0从尾到头,count=0查找所有元素
set类型:
特点:无序(顺序)集合, 大小关系有序,不能存储重复元素 1 6 3 9 2
添加元素:
1.向key域(集合)中添加多个数据, sadd key member1 member2...
获取元素:
2.获取key域集合的所有元素: smembers key
删除元素:
1.删除指定key元素的值: srem key value
Zset类型:
  特点: 有序集合, score为权重值 序:自然顺序
增加数据
  1.向key域集合中添加多个score1,member1数据
  格式: zadd key score1 member1 score2 memever2...
获取数据:
  1.返回指定范围内的member元素: 格式:zrange key start stop start:为开始索引,包含 stop:为结尾索引,包含, -1表示最后一个元素
  2.获取min和max权值之间(包含)的成员值: 格式:zrangebyscore key min max
  3.获取key域集合中member的score的权重值: 格式:zscore key member
删除元素:
1.删除域集合中指定的元素值:
   格式:zrem key member1 member2...
2.删除集合中权重在指定范围内(min,max)的元素:
  格式:zremrangebyscore key min max

NOSQL数据库简介的更多相关文章

  1. SnappyDB—Android上的NoSQL数据库简介

    参考:http://www.open-open.com/lib/view/open1420816891937.html 参考:http://android-arsenal.com/details/1/ ...

  2. NoSql数据库简介及Redis学习

    NO-Sql数据库:Not Only不仅仅是SQL 定义:非关系型数据库:NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据).这些类型的数据存储不需要固 ...

  3. NoSQL数据库--简介

    一.What's NoSQL? NoSQL,全称是”Not Only Sql”,指的是非关系型的数据库.这类数据库主要有这些特点:非关系型的.分布式的.开源的.水平可扩展的.原始的目的是为了大规模we ...

  4. NoSQL数据库简介与产生

    关系型数据库所存在“问题” >利用ACID原则(原子性,一致性,隔离性,持久性)保证数据完整性: >行列的规范化存储: >预定义结构: >存储数据量“小”: >结构化查询 ...

  5. NoSql数据库Redis系列(1)——Redis简介

    一.redis介绍 (一).Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点 ...

  6. NoSql数据库MongoDB系列(1)——MongoDB简介

    一.NoSQL简介    NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型的数据库 .是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨.No ...

  7. 【DB宝46】NoSQL数据库之CouchBase简介、集群搭建、XDCR同步及备份恢复

    目录 一. CouchBase概述 1.1.简述 1.2.CouchDB和CouchBase比对 1.2.1.CouchDB和CouchBase的相同之处 1.2.2.CouchDB和CouchBas ...

  8. NoSQL数据库笔谈(转)

    NoSQL数据库笔谈 databases , appdir , node , paper颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  9. MongoDB数据库简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自"humongous",是一种开源 ...

随机推荐

  1. Jackson使用

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/m0_37076574/article/d ...

  2. [转帖]QC 和 PD:关于你所不知道的快充

    QC 和 PD:关于你所不知道的快充 http://www.sohu.com/a/276214250_465976 2018-11-18 06:02 当我们使用支持 PD 或者 QC 快充协议的电源适 ...

  3. [WinForm] - "更新 DataSet 应用程序集对象失败,Visual Studio 自动重启" 之解决

    背景 在 WinForm 解决方案中,更新 DataSet 应用程序集对象失败,Visual Studio 自动重启. 试一试 1. 更新 .xsd 时打开对应的 .Designer.cs.2. 如果 ...

  4. RocketMQ之一:RocketMQ整体介绍

    常用MQ介绍及对比--<MQ详解及四大MQ比较> RocketMQ环境搭建--<RocketMQ之三:RocketMQ集群环境搭建> RocketMQ物理部署结构 Rocket ...

  5. centos7安装php7.3的redis扩展(不是redis服务!)

    PHP其他扩展加装扩展也是一样的步骤~ PHP官网下载redis扩展: http://pecl.php.net/package/redis 稳定版吧: [root@wf ~]# wget http:/ ...

  6. python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)

    11.4 JavaScript 11.41 变量 1.声明变量的语法 // 1. 先声明后定义 var name; // 声明变量时无需指定类型,变量name可以接受任意类型 name= " ...

  7. git出现Invalid path

    今天换了电脑,我直接把整个仓库从电脑A复制到了电脑B,包括仓库下面的 .git 文件夹. 修改代码后我执行了一下 git add . 出现了一个报错 fatal: Invalid path 'D:/S ...

  8. C# 用Redis实现的分布式锁

    Redis实现分布式锁(悲观锁/乐观锁) 对锁的概念和应用场景在此就不阐述了,网上搜索有很多解释,只是我搜索到的使用C#利用Redis的SetNX命令实现的锁虽然能用,但是都不太适合我需要的场景. 基 ...

  9. K2 BPM_【解决方案】从“制造”到“智造”,K2推动制造业转型升级_业务流程管理系统

    近年来,中国制造业产出占全球总产品比例越来越大,是仅次于美国的全球第二大工业制造国,中国凭借巨大的制造业总量成为名副其实的“世界工厂”.然而个性化消费的兴起正在给制造企业各环节带来冲击.在现代市场环境 ...

  10. iOS Touch Id 开发

    Touch Id Touch Id是iPhone5S后加入的一项新的功能,也就是大家熟知的指纹识别技术.大家用得最多的可能是手机的解屏操作,不用在和以前一样输入手机的四位数密码进行验证.一方面不用担心 ...