2、 redis简述及安装

关系型数据库(SQL):

Mysql,oracle

特点:数据和数据之间,表和字段之间,表和表之间是存在关系的

例如:部门表 001部门,   员工表 001

用户表,用户名、密码

分类表 和 商品表, 一对多关系。

优点:①数据之间有关系,进行数据的增删改查时非常方便的。

    ②关系型数据库 有事务操作。 保证数据的完整性

缺点:1、因为数据和数据之间有关系的,关系是由底层大量算法保证

    大量算法会拉低系统运行速度

    大量算法会消耗系统资源

   2、海量数据的增删改查时会显得无能为力。

    很可能宕(dang)机

3、海量数据环境下对数据表进行维护/扩展,也会变得无能为力

    update product set cname = ‘手机数码’;//修改所有数据

    把商品表的cname字段,由varchar(64),  char(100)

适合处理一般量级数据,安全。

非关系型数据库(NOSQL:不仅仅是sql):

为了处理海量数据,需要将关系型数据库的关系 去掉。

非关系型数据库设计之初 是为了替代关系型数据库的

Redis

优点:1、海量数据的增删改查,非常轻松应对

      2、海量数据的维护非常轻松。

缺点:1、数据和数据之间没有关系,所以不能一目了然

   2、非关系型数据库,没有关系,没有强大的事务保证数据的完整和安全

适合处理海量数据,效率高。不一定安全

奥运健儿奖牌总数 每秒千万次查询

关系型数据库+非关系型数据库 ====》项目

重要数据      海量操作数据,不重要

2、1 Redis使用环境

1、可以作为关系型数据库的缓存存在

2、可以做任务队列

3、大量数据运算

4、排行榜

Redis非常擅长做大量数据的排行榜

2、2 redis安装

redis是C语言开发,安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境。如果没有gcc环境,需要安装gcc:(环境已经导入完成)

yum install gcc-c++

如果提示是否下载,输入y。

如果提示是否安装,输入y

l 步骤1:将Windows下下载的压缩文件上传到Linux下。通过secureCRT进行上传,步骤如下:

lalt + p

lput F:/redis-3.0.0.tar.gz

l

l 步骤2:解压文件

ltar -zxvf redis-3.0.0.tar.gz

l 步骤3:编译redis (编译,将.c文件编译为.o文件)

l进入解压文件夹,cd redis-3.0.0

l执行make,将里边所有的c代码运行一遍

1)如果没有安装gcc,编译将出现错误提示。(如果安装失败,必须删除文件夹,重写解压)

2)安装成功

l 步骤4:安装

make PREFIX=/usr/local/redis install

lPREFIX必须大写

安装完后,在/usr/local/redis/bin下有几个可执行文件

redis-benchmark----性能测试工具

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

redis-check-dump----RDB文件检查工具(快照持久化文件)

redis-cli----命令行客户端

redis-server----redis服务器启动命令

l 步骤5:copy文件

redis启动需要一个配置文件,可以修改端口号等信息。

回到根目录,进到redis-3.0.0,复制该目录下的redis.conf到/usr/local/redis

cp redis.conf /usr/local/redis

如果没有配置文件redis也可以启动不过将启用默认配置这样不方便我们修改端口号等信息

2、3前端启动:(了解)-无法部署集群

先进入redis程序目录中,运行一下命令启动redis服务器。./代表当前目录

./bin/redis-server

[root@yejing redis]# ll

总用量 48

drwxr-xr-x. 2 root root  4096 1月  15 07:28 bin

-rw-r--r--. 1 root root 41403 1月  15 07:35 redis.conf

[root@yejing redis]# pwd

/usr/local/redis

[root@yejing redis]# ./bin/redis-server

1631:C 15 Jan 17:57:09.181 # Warning: no config file specified, using the default config. In order to specify a config file use ./bin/redis-server /path/to/redis.conf

1631:M 15 Jan 17:57:09.186 * Increased maximum number of open files to 10032 (it was originally set to 1024).

1631:M 15 Jan 17:57:09.199 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with 'noeviction' policy now.

                _._                                                  

           _.-``__ ''-._                                             

      _.-``    `.  `_.  ''-._           Redis 3.0.0 (00000000/0) 32 bit

  .-`` .-```.  ```\/    _.,_ ''-._                                   

 (    '      ,       .-`  | `,    )     Running in standalone mode

 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379

 |    `-._   `._    /     _.-'    |     PID: 1631

  `-._    `-._  `-./  _.-'    _.-'                                   

 |`-._`-._    `-.__.-'    _.-'_.-'|                                  

 |    `-._`-._        _.-'_.-'    |           http://redis.io        

  `-._    `-._`-.__.-'_.-'    _.-'                                   

 |`-._`-._    `-.__.-'    _.-'_.-'|                                  

 |    `-._`-._        _.-'_.-'    |                                  

  `-._    `-._`-.__.-'_.-'    _.-'                                   

      `-._    `-.__.-'    _.-'                                       

          `-._        _.-'                                           

              `-.__.-'                                               

1631:M 15 Jan 17:57:09.204 # Server started, Redis version 3.0.0

1631:M 15 Jan 17:57:09.206 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

1631:M 15 Jan 17:57:09.207 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

1631:M 15 Jan 17:57:09.207 * The server is now ready to accept connections on port 6379

再打开一个窗口运行客户端:

进到redis程序目录,运行以下命令启动客户端

./bin/redis-cli

[root@yejing ~]# cd /usr/local/redis

[root@yejing redis]# ./bin/redis-cli

127.0.0.1:6379> set username zhangsan

OK

127.0.0.1:6379> get username

"zhangsan"

127.0.0.1:6379>

启动redis,客户端连接: 连接6379端口

redis-cli -h ip地址 -p 端口

./bin/redis-cli -p 6379

运行客户端(默认连接本机6379端口):./bin/redis-cli

2、4Redis启动-后端模式

l 修改redis.conf配置文件, daemonize yes 以后端模式启动。

vim /usr/local/redis/redis.conf

l 启动时,指定配置文件

cd /usr/local/redis/

./bin/redis-server ./redis.conf

l Redis默认端口6379,通过当前服务进行查看

ps -ef | grep -i redis

2、5 redis的关闭

① 查询到PID,kill -9 pid  【断电,非正常关闭,一般不用,否则造成数据丢失】

②正常关闭  【正常关闭,数据保存】

./bin/redis-cli shutdown

Linux+Redis实战教程_day02_2、redis简述及安装与启动的更多相关文章

  1. go语言实战教程:Redis实战项目应用

    项目Redis配置 在实战项目中使用Redis功能,首先需要进行Redis配置.本实战项目中,关与Redis的配置项包含:连接类型.地址.端口.公共前缀.以上配置项被定义包含在Iris框架的redis ...

  2. Redis实战之征服 Redis + Jedis + Spring (一)

    Redis + Jedis + Spring (一)—— 配置&常规操作(GET SET DEL)接着需要快速的调研下基于Spring框架下的Redis操作. 相关链接: Redis实战 Re ...

  3. Redis实战之征服 Redis + Jedis + Spring (二)

    不得不说,用哈希操作来存对象,有点自讨苦吃! 不过,既然吃了苦,也做个记录,也许以后API升级后,能好用些呢?! 或许,是我的理解不对,没有真正的理解哈希表. 相关链接: Redis实战 Redis实 ...

  4. Redis实战之征服 Redis + Jedis + Spring (三)

    一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 通过spring-data-redis完 ...

  5. Redis实战 | 5种Redis数据类型详解

    我们知道Redis是目前非常主流的KV数据库,它因高性能的读写能力而著称,其实还有另外一个优势,就是Redis提供了更加丰富的数据类型,这使得Redis有着更加广泛的使用场景.那Redis提供给用户的 ...

  6. Redis 实战 —— 13. 扩展 Redis

    简介 当数据量增大或者读写请求增多后,一台 Redis 服务器可能没办法再存储所有数据或者处理所有读写请求,那么就需要对 Redis 进行扩展,保证 Redis 在能存储所有数据对情况下,同时能正常处 ...

  7. Linux+Redis实战教程_day01_Linux介绍与安装

    1.Linux介绍(了解) 1.1.Linux和Windows的区别 Linux是一款操作系统.正规开发 服务器项目部署都是放在Linux操作系统上. Windows一款操作系统,民用操作系统.娱乐. ...

  8. Linux+Redis实战教程_day02_消息订阅与发布_多数据库_redis批量操作-事务_redis持久化

    5.扩展知识-消息订阅与发布(了解) 订阅新闻,新闻发布 subscribe channel:订阅频道,例:subscribe mychat,订阅mychat这个频道 psubscribe chann ...

  9. Linux+Redis实战教程_day03_4、通用redis命令【重点】

    4.通用redis命令[重点] Redis五种数据类型,String,hash,list,set,有序set l keys pattern:获取所有与pattern匹配的key,返回所有与该key匹配 ...

随机推荐

  1. ES 自动恢复分片的时候不恢复了是磁盘超过了85%,然后不恢复了 ES可以配置多个数据目录

    ES 自动恢复分片的时候不恢复了是磁盘超过了85%,然后不恢复了   ES可以配置多个数据目录

  2. jdbc读取百万条数据出现内存溢出的解决办法

    本人在做项目实施时,我们使用的是mysql数据库,在不到一个月的时间已经有了2千万条数据,查询的时候非常慢,就写了一个数据迁移的小项目,将这两千万条数据存放到MongoDB中看效率怎么样,再读取数据时 ...

  3. 微信小程序的json遍历

    入门教程之列表渲染多层嵌套循环,目前官方的文档里,主要是一维数组列表渲染的案例,还是比较简单单一,给刚入门的童鞋还是无从入手的感觉. <view wx:for="{{items}}&q ...

  4. R语言合并data.frame

    Merging Data Adding Columns To merge two data frames (datasets) horizontally,  use the merge functio ...

  5. 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从

    明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的 ...

  6. USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项

    笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...

  7. Linux 内核版本,Ubuntu版本的查看

    查看内核版本 1)  cat /proc/version [root@a ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@x ...

  8. 【AndroidManifest.xml详解】Manifest属性之sharedUserId、sharedUserLabel

    http://blog.csdn.net/wirelessqa/article/details/8581652 android:sharedUserId 当APK安装的时候,userid这个标志就会产 ...

  9. Opengl绘制我们的小屋(二)第一人称漫游

    这章我们先讲第一人称漫游的实现.在openTK里,我们用函数Matrix4.LookAt(caram.Eye,caram.Target,Vector3.UnitY)来放置摄像机,其中三个参数分别与摄像 ...

  10. WM_CONCAT字符超过4000的处理办法

    参考网址: http://stackoverflow.com/questions/11541383/ordering-by-list-of-strings-in-oracle-sql-without- ...