【Redis】Redis简单入门及使用
简介
Redis数据库为Nosql型数据库中的一种,Nosql数据库为非关系数据库,特点是易扩展、大数据量,高性能、灵活的数据模型、高可用。
1.redis是什么
Redis是一个开源(BSD许可),内存数据结构存储,用作数据库、缓存和消息代理,它支持数据结构,如字符串、散列、列表、集合、带有范围查询的排序集、位图、超级日志、具有半径查询流的地理空间索引。Redis具有内置复制、Lua脚本、LRU驱逐(算法)、事务和不同 级别的磁盘持久化,并通过Redis Sentinel(哨兵)提供高可用性并使用Redis Cluster(集群)自动分区。Remote Dictionary Server(远程数据服务)简称Redis,是一个key-value存储系统。
2.redis的特点
(1)数据结构丰富
(2)持久化
(3)支持简单事务
(4)主从配置方便
3.redis与memcached相比的独特之处
(1)redis可以用来做存储(storge)和缓存(cache),而memcached只能用来做缓存(cache),redis具有持久化功能
(2)memcached的存储的结构只有一种类型:字符串;而redis则可以存储字符串、链表、哈希结构、集合、有序集合等。
Nosql的适用场景:
NoSQL数据库在以下的这几种情况下比较适用:
(1)、数据模型比较简单;
(2)、需要灵活性更强的IT系统;
(3)、对数据库性能要求较高;
(4)、不需要高度的数据一致性;
(5)、对于给定key,比较容易映射复杂值的环境。
Redis是一个key-value存储系统,主要应用场景为:缓存、任务队列、应用排行榜、网站访问统计、数据过期处理、分布式集群架构中的session分离。
优点
1.支持多种数据结构,如 string(字符串)、 list(双向链表)、dict(hash表)、set(集合)、zset(排序set)、hyperloglog(基数估算)
2.支持持久化操作,可以进行aof及rdb数据持久化到磁盘,从而进行数据备份或数据恢复等操作,较好的防止数据丢失 的手段。
3.支持通过Replication进行数据复制,通过master-slave机制,可以实时进行数据的同步复制,支持多级复制和增量复制,master-slave机制是Redis进行HA的重要手段。
4.单线程请求,所有命令串行执行,并发情况下不需要考虑数据一致性问题。
5.支持pub/sub消息订阅机制,可以用来进行消息订阅与通知。
6.支持简单的事务需求,但业界使用场景很少,并不成熟。
缺点
1.Redis只能使用单线程,性能受限于CPU性能,故单实例CPU最高才可能达到5-6wQPS每秒(取决于数据结构,数据大小以及服务器硬件性能,日常环境中QPS高峰大约在1-2w左右)。
2.支持简单的事务需求,但业界使用场景很少,并不成熟,既是优点也是缺点。
3.Redis在string类型上会消耗较多内存,可以使用dict(hash表)压缩存储以降低内存耗用
redis安装
1.压缩包解压安装
(1)下载Redis服务端的包,样例中使用的版本是redis-5.0.8.tar.gz
(2) 解压文件: tar –xvf redis-5.0.8.tar.gz
(3) 进入解压后的文件/redis/src目录,运行make开始编译,编译成功之后会在src目录下生成redis-cli , redis-server , redis-sentinel , redis-check-dump , redis-check-aof , redis-benchmark 可执行文件
(4)在/redis-5.0.8目录下新建bin目录:mkdir bin ,拷贝步骤3生成的可执行文件到/redis/bin目录:cp 文件 路径
(5)拷贝redis目录下的redis.conf至bin目录,redis默认使用端口是6379,可以使用netstat –an|grep 6379检查6379端口是否被占用
(6)在redis/bin目录下执行“nohup ./redis-server &”让redis服务端在后台运行,检查nohup.out中是否打出如下日志” The server is now ready to accept connections on port 6379”,标识redis服务端启动成功。
Redis的简单使用
1.修改redis.conf文件中属性中的daemonize=yes,开启后端启动。
2.redis可执行工具说明:
redis-server:Redis服务器的daemon启动程序
redis-cli:Redis命令行操作工具。
redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
redis-check-rdb: 检查file.rdb 文件
redis-check-aof:检查file.aof 文件
redis-sentinel: redis用于HA的哨兵
redis-passwd:redis服务端加解密工具
3.启动redis:运行命令nohup ./redis-server &,然后运行./redis-cli
4.简单的使用redis存储数据,样例:存储名字xxx
设置命令:set name xxx
查看名字:get name
查看所有key值:keys *
删除名字: del name
- 点赞
- 收藏
- 关注作者
评论(0)