redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的web应用程序的完美解决方案
三个主要特点:
     1,Redis数据库完全在内存中,使用磁盘仅用于持久性
     2,   Redis拥有一套较为丰富的数据类型
     3, Redis可以将数据复制到任意数量的从服务器
Redis的优势:
     1,异常快速,每秒能执行约11万集合,每秒约81000天记录
     2,支持丰富的数据类型,可以支持strings---字符串,hashes , lists---链表,set---集合,and sorted sets,
     3,操作都有原子性,保证了如果两个客户端同时访问Redis服务器将会获得更新后的值
     4,多功能实用工具 ,可以有多个用途,例如缓存,数据库,消息,队列使用,任何短暂的数据,应用程序
NoSQL适用场景
     1, 对数据高并发读写
     2, 对海量数据的高效率存储和访问  ----fridfeed 网站----sql对亿级别的查询特慢
     3, 对数据的高可扩展性和高可用性
应用场景:
     1, 直接访问Redis:Application ----->Redis
     2, 应用程序直接访问Redis,只有当Redis访问失败,才访问Mysql
 
 
Redis安装过程,比较简单,很多地方都有,在此不做介绍
 
启动redis
redis-server
默认端口时6379
进入redis客户端
redis-cli -h 127.0.0.1 -p 6379 
 
redis 键命令
DEL  key    删除键,如果存在
DUMP key  返回存储在指定键的值的序列化版本
EXSITS key 检查该键是否存在
EXPIRE key seconds 指定键的过期时间
KEYS pattern 查找和指定模式匹配的所有键 。  KEYS *  查看当前数据库的所有key
MOVE key db  把当前数据库的键移动到另一个数据库
PERSIST key  移除过期的键
TTL   key     获取键到期的剩余时间
RANDOMKEY  从redis返回随机键
RENAME key  newly  更改键的名称
TYPE    key     返回存储键的数据类型的值
SELECT 0-16  选择数据库
 
 
  strings hashes
指定键设置值 SET key value HSET key field value
获取键对应的值 GET key HGET key field
得到字符串的子字符串存放在一个键 GETRANGE key start end  
设置键的字符串值,并返回旧值 GETSET key value  
得到所有的给定键的值 MGET key1 key2… HMGET key field1 field2…
设置键的值,只有当该键不存在时 SETNX key value HSETNX key field value
获得存储的键的值的长度 SETLEN key HLEN key
设置多个键和多个值 MSET key1 value1 key2 value2 HMSET key field1 vlaue1..
设置多个键多个值,只有在没有键存在时 MSETNX key1 value1 key2 value2  
设置键的到期时间 PESTEX key value  
增加键的整数值一次
INCR key
 
 
由给定的数量递增键的整数值 INCRBY key increment HINCRBY key field increment
递减键的整数值一次 DECR key  
由给定数目递减键的整数值 DECRBY key decrement  
追加值到一个键 APPEND key value  
删除一个或者多个字段   HDEL key field
判断一个值是否存在   HEXISTS key field
让所有的字段和值在指定的键存储在一个哈希   HGETALL key
获取所有字段   HKEYS key
 
 
  list
从一个列表其索引获取对应的元素 LINDEX key index
在列表的其他元素之后或之前插入一个元素 LINSERT key BEFORE/AFTER pivot value
获取列表的长度 LLEN key
获取并取出列表的第一个元素 LPOP key
在前面加上一个或者多个值的列表 LPUSH key value1 value2
在前面加一个值列表,仅当列表中存在 LPUSHX key value
从一个列表中获取各种元素 LRANGE key start stop
从列表中删除元素 LREM key count value
在列表中的索引设置一个元素的值 LSET key index value
取出并获取列表的最后一个元素 RPOP key
删除最后一个元素的列表,将其附加到另一个列表并返回它 RPOPLPUSH source destination
添加一个或多个值多列表 RPUSH key value1 value2…
添加一个值到列表,仅当列表存在时 RPUSHX key value
 
 
  set sorted set
添加一个或者多个值 SADD key member1 member2 ZADD key  score1 member1 scoer2 member2
移除并返回一个随机member SPOP key  
返回set的member个数 SCARD key
ZCARD key
 
删除一个或者多个字段 SREM key member1 member2 ZREM key member1 member2
判断一个值是否存在 SISMEMBER key member  
获取所有字段 SMEMBERS key  
随机返回一个字段 SRANDMEMBER key  
将spurce中的member移动到destination SMOVE source destination member  
多个集合的并集 SUNION key1 key2  
把并集结果存储到新的set SUNIONSTORE destination key1 key2  
多个集合的交集 SINTER key1 key2  
把交集结果存储到指定的set SINTERSTORE destination key1 key2  
差集(以第一个集合为准) SDIFF key1 key2  
在有序集合增加成员的score   ZINCRBY key increment member
一个有序集合与给定值范围的member个数   ZCOUNT key min man
由索引返回一个成员范围的有序集合   ZRANGE key start stop withscores
返回member在有序集合中的index(低到高)   ZRANK key min max
返回member在有序集合中的index(高到低)   ZREVRANK key min max
 
redis 支持简单的事务
 
MULTI  标记事务块的开始  
EXEC   MULTI后执行所发出的命令
DISCARD  清空MULTI队列并退出事务
UNWATCH 取消所有的对应关注键
WATCH key1 key2 关注给定项,以确定执行MULTI/EXEC 块
multi 之后再写命令,这些命令都回存在队列中 直到exec 才开始一条一条执行
 
 
只所以只是支持简单的事务,是因为如果队列中有多条语句,如果有语句执行失败,那么其他语句也会正常执行,不会回滚
 
这次主要整理了redis几种数据类型的命令,以及事务等基础概况,后续还会对其他方面进行记录。
 
我主要参考了一下资料

redis 入门笔记(一)的更多相关文章

  1. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  2. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  3. redis入门笔记

    redis入门笔记 参考redis实战手册 1. Redis在windows下安装 下载地址:https://github.com/MSOpenTech/redis/tags 安装Redis 1.1. ...

  4. Redis入门笔记(二)-配置及运行

    转自: http://gly199.iteye.com/blog/1056424 1.redis基本参数 redis的配置文件中的常见参数如下: daemonize   是否以后台进程运行,默认为no ...

  5. NoSQL之Redis入门笔记

    Redis 1.Redis介绍 1.1 NoSQL:一类新出现的数据库(not only sql),它的特点 不支持sql语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据 ...

  6. .net使用redis入门笔记

    1.学习blog:http://www.cnblogs.com/yangecnu/p/Introduct-Redis-in-DotNET.html 2.redis官网:http://redis.io/ ...

  7. Redis入门笔记-redis内部数据结构(01)

    redis是一个轻量级的Nodsql数据库,使用kev-value的形式存储数据,在redis的世界里,没有整数.浮点数等概念,大多数情况下数据以字符串形式展现,偶尔会出现Long类型数据的场景. 一 ...

  8. redis入门笔记(3)

    本篇文章介绍几个redis的应用场景. 1.取最新N个数据的操作 –比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的5000条评论的ID放在Redis的List集合中,并将超出集合部分从数 ...

  9. redis 入门笔记

    http://www.cnblogs.com/xinysu/p/7366142.html

随机推荐

  1. Android上实现仿IOS弹性ScrollView

    [转]http://www.tuicool.com/articles/ummIJb

  2. Flex Metadata tags 元数据标签

    1.[Alternative] [可替换] 标明此类可以被参数中的类替换,版本号说明发生替换的版本. [Alternative]和[Deprecated] 不同.如果是[不建议使用]的类,以后的版本可 ...

  3. CRM-BP相关FUNCTION

    获取BP的地址信息:BUPA_ADDRESS_GET_DETAIL 修改BP的信息:CRM_WAP_BP_CHANGE BUTO50存放2个BP之间的关系 获取BP的角色 BAPI_BUPA_ROLE ...

  4. Graph(2014辽宁ACM省赛)

    问题 F: Graph 时间限制: 1 Sec  内存限制: 128 MB 提交: 30  解决: 5 [cid=1073&pid=5&langmask=0" style=& ...

  5. android学习日记17--Gallery(画廊视图)

    一.Gallery 1.简述 Gallery有道翻译为画廊,就叫它画廊控件,主要用来可切换的图片展示,左右滑动可以选择上一张或下一张图片. 个人感觉蛮实用的,不过google貌似不推荐使用啊! 2.常 ...

  6. github fork项目后,代码更新

    协助约定 每个人都可以fork一份自己的repo,所有的修改都在自己私有的repo上进行:修改完成,测试通过后通过给主repo发pull request请求合并:主repo(Johnqing/n.js ...

  7. C# Firefox Session Manager 文件的导出与管理

    长时间使用Firefox会产生很多的session文件(使用了插件:Session Manager).这些文件保存了你浏览过的所有的网址.虽然我们可以使用firefox的书签功能.但有时候打开的网址过 ...

  8. GCD多线程

    GCD本质线程自动管理指令包 GCD优点: 1.GCD 本身自带有线程锁的效果,能通过推迟昂贵计算任务并在后台运行它们来改善应用的响应性能. 2.GCD 提供了更易于使用的并发模型(效果方面类似于对锁 ...

  9. Linux系统(将web应用部署到tomcat服务器上)

    一:tomcat服务开机自启动 将启动命令路径配置到/etc/profile文件中在/etc/profile 文件最后配置 /usr/tomcat/apache-tomcat-6.0.45/bin/s ...

  10. 简单理解前端web开发的MVC模式

    随着前端Ajax兴起.前端开发工作进一步划分:js开发和ui页面制作.另外从整个前端项目的清晰明朗以可扩展性角度来看,MVC的应用也越来越必要,特别是对大的项目. 例如 需要给一个页面上的button ...