Redis学习笔记(简单了解与运行)

Redis学习笔记(简单了解与运行)

开源的非关系型数据库 是REmote Dictionary Server(远程字典服务器)的缩写,以字典结构存储数据

允许其他应用通过TCP协议读写字典中的内容.

Redis支持存储的键值数据类型

  • 字符串类型
  • 散列类型
  • 列表类型
  • 集合类型
  • 有序集合类型

Redis的特性

通过一个列子看出Mysql和Redis的存储区别

例如:

(存储一篇文章,文章包括:标题(title),正文(content),阅读量(views),标签(tags))

需求:

把数据存储在数据库中,并且可以通过标签检索出文章

关系型数据库实现:

把标题,正文,阅读量 存储在一个表中(文章表)

标签存储在一个表中(标签表)

通过第三个表对应表(对应表)

缺点:查询时需要把3个表进行连接,不是很直观

Redis实现:

post{"title"} = "Hello World!"

post{"content"} = "我是文章 , 我是文章"

post{"views"} = 0

post{"tags"} = {"Java","Redis"}

优点:可以将程序中的数据直接映射到Redis中,数据在Redis中的存储方式和在程序中的存储方式很相近.

对不同的数据类型提供了方便的操作方式

内存存储以及持久化

Redis数据库中的数据都存储在内存中.内存的读取速度快于硬盘读取,所以Redis在性能对比上于基于硬盘读取的数据库有明显的优势

将数据存储在内存中也会出现问题,程序退出后,内存中的数据就会丢失
不过可以使用Redis的持久化技术来解决,可以将数据异步写入到硬盘中,而且不会影响继续提供服务.

其他功能

Redis还可以用做缓存,队列系统等

Redis可以为每个键设置生存时间(Time to Live ,TTL),生存时间到了键会自动被删除.这一功能Redis可以作为缓存系统来使用.

作为缓存系统,Redis还可以限定内存最大占用空间,当数据到达最大限定值时,Redis可以按照规则淘汰不需要的键.

Redis的列表类型可以用来实现队列.支持阻塞读取,可以实现一个高性能的优先级队列. 

更高层面上,Redis还支持"订阅/发布"的消息模式,可以基于此构建聊天室等系统.

简单稳定

Redis提供了一百多个命令

Redis提供了不同语言的客户端库

安装Redis

Redis兼容大部分系统,Linux Windows  OS X 等

一般都是在Linux服务器上安装,记录在Linux上安装的过程

下载、提取和编译:
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make

实际运行redis前可以使用make test来测试Redis是否编译正确

Redis可执行文件说明

文件名                     说明

redis-server                Redis服务器

redis-cli               Redis命令行客户端

redis-benchmark         Redis性能测试工具

redis-check-aof         AOF文件修复工具

redis-check-dump            RDB文件检查工具

常用的是redis-server和redis-cli.启动redis使用的就是redis-server,  redis-cli是命令行客户端

启动Redis

有两种启动方式:

        1.直接启动:

            直接运行redis-server

        redis服务器默认的端口是6379端口,可以自定义接口:

            redis-server --port 6370

        2.通过初始化脚本启动

            通过初始化脚本启动,可以使redis随系统的启动而启动,生产环境使用此方法.

            在Redis的源代码目录的untils文件夹中有一个redis_init_script的初始化脚本

            需要配置Redis的运行方式和持久化文件,日志文件的存储位置等:    

                (1)配置初始化脚本,把初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号,然后修改脚本第6行的REDISSPORT变量的值为同样的端口号

                (2)建立需要的文件夹
                    /etc/redis    存放redis的配置文件
                    /var/redis/端口号   存放redis的持久化文件

                (3)修改配置文件.首先将配置文件模板(根目录下)复制到/etc/redis文件夹中,以端口号命名(如6370.conf),然后进行编辑

                    启用配置文件的方法是在启动时将配置文件的路径作为启动参数传递给redis-server如:

                        redis-server /path/to/redis.conf

                    通过启动参数传递同名的配置选项会覆盖配置文件中相应的参数:

                        redis-server /path/to/redis.conf --loglevel warning

                    Redis还可以在运行时动态修改配置文件:

                        CONFIG SET loglevel warning

                    也可以获取Redis当前的配置情况

                        CONFIG GET loglevel

                    配置文件的参数:

                        参数             值                                     说明
                        daemonize       yes                             以守护进程模式运行
                        pidfile       /var/run/redis_端口号.pid            redis的PID文件位置
                        port           端口号                          设置redis的端口号
                        dir           /var/redis/端口号                    设置持久化文件夹位置

            使用/etc/init.do/redis_端口号 start 启动Redis

        如果无法启动还需要把  src下的 redis-server和redis-cli 复制到 /usr/local/bin下

            执行:sudo update-rc.d redis_端口号 default   可以随系统启动

       客户端连接 redis-cli -h 主机地址 -p redis端口

停止Redis

考虑到持久化,强制关闭Redis可能会丢失数据,所以正确停止Redis的方法为

redis-cli SHUTDOWN

当redis收到SHUTDOWN命令后,会先断开所有的客户端连接,然后根据配置执行持久化,最后完成退出

也可以使用 kill redis的进程PID 关闭redis
时间: 2024-10-18 10:20:46

Redis学习笔记(简单了解与运行)的相关文章

Redis学习笔记3-Redis5个可运行程序命令的使用

在redis安装文章中,说到安装好redis后,在/usr/local/bin下有5个关于redis的可运行程序.以下关于这5个可运行程序命令的具体说明. redis-server Redisserver的daemon启动程序 #启动并加装指定配置文件 redis-server redis.conf #查redis服务版本 redis-server –version # 以标准输入作为配置启动redis,当中key为配置參数,value为配置參数值 redis-server --port 600

(转)redis 学习笔记(1)-编译、启动、停止

redis 学习笔记(1)-编译.启动.停止 一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8.17 1.2 上传到linux,然后运行以下命令解压 tar xzf redis-2.8.17.tar.gz 1.3 编译 cd redis-2.8.17make 注:make命令需要linux上安装gcc,若机器上未安装gcc,redhat环境下,如

Redis学习笔记4-Redis配置具体解释

在Redis中直接启动redis-server服务时, 採用的是默认的配置文件.採用redis-server   xxx.conf 这种方式能够依照指定的配置文件来执行Redis服务. 依照本Redis学习笔记中Redis的依照方式依照后,Redis的配置文件是/etc/redis/6379.conf.以下是Redis2.8.9的配置文件各项的中文解释. #daemonize no 默认情况下, redis 不是在后台运行的.假设须要在后台运行,把该项的值更改为 yes daemonize ye

Redis学习笔记4-Redis配置详解

原文:  http://blog.csdn.net/mashangyou/article/details/24555191 在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redis学习笔记中Redis的按照方式按照后,Redis的配置文件是/etc/redis/6379.conf.下面是Redis2.8.9的配置文件各项的中文解释. 1 #daemon

Redis学习笔记

Redis学习笔记:Redis是什么?redis是开源BSD许可高级的key-vlue存储系统可以用来存储字符串哈希结构链表.结构.集合,因此常用来提供数据结构服务. redis和memcache相比的独特之处:1.redis可以用来做存储,而memcache是用来做缓存 这个特点主要因为其有"持久化"的功能.2.存储的数据有"结构",对于memcache来说,存储的数据只有1种类型"字符串"而 redis则可以存储字符串.链表.哈希机构.集合.

Redis学习笔记~目录

redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都 支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排 序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更

Redis学习笔记7--Redis管道(pipeline)

redis是一个cs模式的tcp server,使用和http类似的请求响应协议.一个client可以通过一个socket连接发起多个请求命令.每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client.基本的通信过程如下: Client: INCR X Server: 1 Client: INCR X Server: 2 Client: INCR X Server: 3 Client: INCR X Server: 4

Redis学习笔记(增删查)

Redis学习笔记(增删查) 向数据库中添加一个键 SET key value 获取数据库中的key KEYS pattern pattern支持glob风格通配符格式 " ? " 匹配一个字符 " * " 匹配任意字符 " [] " 匹配括号间的任一字符,可以使用" - "符号表示一个范围,例如:a[a-z]c " \x " 匹配字符x,用于转义字符.如需要匹配"?",就需要用 \?

Redis学习笔记(1)Redis安装和启动

前言 作为一个开发者,一直想跟进一下大数据和云计算的步伐. 因此打算开始学习云计算和分布式数据的各种内容,先从Redis开始. Redis是Remote Dictionary Server的缩写,最初是开发用来作为数据库使用的工具. 在Linux下安装Redis非常简单 在终端运行以下命令 wget http://download.redis.io/redis-stable.tar.gz tar zxf redis-stable.tar.gz cd redis-stable.tar.gz mak