一.Redis极简入门-认识Redis&Redis安装

x33g5p2x  于2021-12-19 转载在 其他  
字(2.6k)|赞(0)|评价(0)|浏览(296)

Redis入门,共同学习共同进步,老鸟飞过

一.Redis概念

1.NOSQL

1.1.什么是NOSQL

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它泛指非关系型的数据库。随着互联网2003年之后web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的交友类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。

1.2.NOSQL分类

http://www.nosql-database.org/

分类Examples举例典型应用场景数据模型优点缺点
键值(key-value)Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。Key 指向 Value 的键值对,通常用hash table来实现查找速度快数据无结构化,通常只被当作字符串或者二进制数据
列存储数据库Cassandra, HBase, Riak分布式的文件系统以列簇式存储,将同一列数据存在一起查找速度快,可扩展性强,更容易进行分布式扩展功能相对局限
文档型数据库CouchDB, MongoDbWeb应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容)Key-Value对应的键值对,Value为结构化数据数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构查询性能不高,而且缺乏统一的查询语法。
图形(Graph)数据库Neo4J, InfoGrid, Infinite Graph社交网络,推荐系统等。专注于构建关系图谱图结构利用图结构相关算法。比如最短路径寻址,N度关系查找等很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群

2.Redis

2.1.什么是Redis

Redis 是一个高性能的 开源的、C语言写的Nosql(非关系型数据库),数据保存可以存储在内存中或者磁盘中。Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

2.2.Redis的特点
  • 数据保存在内存,存取速度快,并发能力强
  • 它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、 zset(sorted set --有序集合)和hash(哈希类型)。
  • redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。
  • 提供了Java,C/C++,C#,PHP,JavaScript等客户端,使用很方便。
  • Redis支持集群(主从同步)。数据可以主服务器向任意数量从的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。
  • 支持持久化,可以将数据保存在硬盘的文件中
  • 支持订阅/发布(subscribe/publish)
  • 支持事务
2.3.Redis和Mysql的比较
mysqlredis
类型关系型非关系型
存储位置磁盘磁盘和内存
存储过期不支持支持
读写性能非常高
2.3.Redis的使用场景
  • 缓存:经常查询数据,放到读速度很快的空间(内存),以便下次访问减少时间。减轻数据库压力,减少访问时间.而redis就是存放在内存中的。就如同:Mybatis 二级缓存 , ehcache框架 缓存。
  • 计数器:网站通常需要统计注册用户数,网站总浏览次数等等 ,新浪微博转发数、点赞数。
  • 实时防攻击系统:防止暴力破解,如使用工具不间断尝试各种密码进行登录。解决方案使用Redis记录某ip一秒访问到达10次以后自动锁定IP,30分钟后解锁
  • 设定有效期的应用:设定一个数据,到一定的时间失效。验证码,登录过期, 自动解锁,购物券,红包。
  • 自动去重应用:Uniq 操作,获取某段时间所有数据排重值 这个使用 Redis 的 set 数据结构最合适了,只需要不断地将数据往 set 中扔就行了,set 意为 集合,所以会自动排重。
  • 队列:构建队列系统 使用 list 可以构建队列系统,使用 sorted set 甚至可以构建有优先级的队列系统。

秒杀:可以把名额放到内存队列(redis),内存就能处理高并发访问。

  • 消息订阅系统:Pub/Sub 构建实时消息系统 Redis 的 Pub/Sub 系统可以构建实时的消息系统,比如很多用 Pub/Sub 构建的实时聊天系统 的例子。如QQ群

二.Redis的安装

1.下载和安装

1.1.下载Redis

http://redis.io/download ; http://redis.cn/

1.2.安装Redis

本文演示的是window版本,解压Redis包即可

1.3.Redis目录介绍
redis.window.conf    #reids配置文件

redis-benchmark.exe   #reids压测工具

redis-check-aof.exe    #aof文件校验、修复功能

redis-check-dump.exe    #rdb文件校验、修复功能

redis-cli.exe    #命令行客户端,连接Redis服务端可对Redis进行相关操作

redis-server.exe  #Redis服务器,启动Redis

2.Redis启动和测试

2.1.启动redis-server

redis-server是Redis服务端

#进入到Redis安装目录 ,虽然双击也可以启动,但是建议使用CMD执行

redis-server.exe redis.window.conf
2.2.启动redis-client

redis-client是Redis客户端,可以通过它来连接服务端操作Redis

  • 连接本机Redis直接双击 redis-cli.exe 或者执行命令
redis-cli.exe
  • 如果连接其他服务的Redis需要跟上 -h参数
redis-cli.exe -h ip -p 端口   #如 redis-client.exe -h 192.168.0.11 -p 6379
  • 测试Redis
set name zs	#设置数据

get name zs	#获取数字

相关文章