nosql
1.属性的格式不确定,同一个字段你有时可以存入图片有时却是字符串。所以不要预先定义
2.数据分片存储
 
redis:
  它跟mysql不一样,对于用户来说不再是表一样的结构,   标识符视为钥匙  对应的值视为锁  你只需用标识符去找锁   如同平时中的程序中的变量名对应变量名一样使用
   只用关心标识符
   标识符的组成    如         第一层:第二层    第一层类似于之前的表明  第二层相当于主键    若只有一个   可省去第二层
 
本质上类似于键值对的一一对应,但值是下列的数据类型
数据类型:
 1.字符串(既可作为键也可作为值)
    1.可以原子性增长   被当成数  incr 增加 decr 减少 原子性:所有操作都会执行,读 - 增加 - 写操作在执行时,其他客户端此时不会执行相关命令,执行完后会执行其他客户     端的命令,不会发生竞争
    set和get来存取,附加参数:nx表示键存在则set执行失败  xx则无视  ex是设置键的过期时间
    mset和mget  一次存取多个数值
    对键的操作:
         exists:查询键是否存在   del:删除键及其值    type:返回某个键的值的类型  expires:设置键的过期时间  ttl:查询键的生存剩余时间
2.列表(从首尾添加,链表实现)
     lpush从左边(头部)添加一个元素到列表   rpush 右边     lrange  提取某一范围的值  ltrim只保留某一范围内的值
     rpop从右边弹出元素(即取出,并从列表中删除) 
     若键对应列表为空会自动删除键,若对不存在的键进行操作是会自动创建空列表然后执行操作
3.集合(没有顺序,每次操作是顺序都是随意的)
     sadd  添加元素   smembers   返回集合所有元素  sismember   测试元素是否存在   spop  弹出一个元素(因为是集合相当于随机)
     sinter   取交集
     sunionstore   把多个集合的交集存到一个集合中去,当只有一个元素是相当于复制 
4.哈希
     字段值段,即key对应的value也是一个key-value对
      hmset和hmget  一次存取多个数值
5.有序集合(以某一元素来排列,虽然每一行唯一,但排序的元素允许重复)
6.位图
 
posted on 2016-01-25 23:02  一个人的合唱  阅读(125)  评论(0编辑  收藏  举报