发表于: 2021-03-16 23:53:35

1 1288


今天完成的事情:
Redis了解,安装,使用

Linux安装Memcached



明天计划的事情:

spring整合Redis




遇到的问题:

以下



收获:

1.什么是Redis?


redis是一个用C语言编写的(C语言编写,最贴近系统底层,速度快)、开源高性能的、支持网络交互的、基于内存、可持久化的Key-Value数据库。

其中value支持五种数据类型:


    1.字符串(string)
    2.字符串列表(list)
    3.字符串集合(set)
    4.有序字符串集合(sorted set)

    5.哈希(hash)



而关于key,有几个点要提醒大家:


    1.key不要太长,尽量不要超过1024字节,这不仅消耗内存,而且会降低查找的效率;
    2.key也不要太短,太短的话,key的可读性会降低;
    3.在一个项目中,key最好使用统一的命名模式,例如user:10000:passwd。
=============
=============

Redis属于NoSQL数据库,NoSQL数据库和之前使用SQL数据库有区别:



SQL是关系型数据库,大概理解就是一个关系数据库可以包含多个表,表与表之间通过外键关联。这样会带来一个问题,表越多,各种表之间的联系就越紧密。那么修改一个表,有时候会导致多个表发生问题。(猜测,目前没碰到过) 注:SQL的数据是保存在磁盘上的



NoSQL数据库是非关系型数据库,非关系型数据库(NoSQL)是对不同于传统的关系数据库的数据库管理系统的统称。注:memcached也是NoSQL数据库,之前以为memcached是服务器来着...




Memecache、Redis的区别:


  1、Memcached:内存型数据库无持久化功能(无法保存到硬盘上),掉电即失,可靠性差,用于动态系统中减轻数据库负载,提升性能;做缓存,适合多读少写,大数据量的情况(如人人网大量查询用户信息、好友信息、文章信息等)。



  2、Redis:内存型数据库,有持久化功能(可以保存到硬盘上)具备分布式特性,可靠性高,适用于对读写效率要求都很高,数据处理业务复杂和对安全性要求较高的系统(如新浪微博的计数和微博发布部分系统,对数据安全性、读写要求都很高)。
============
============
Redis用来做什么?

  1、缓存(最多使用),数据查询、短连接、新闻内容、商品内容


  2、应用排行榜(LOL排名)


  3、简单消息队列(计算器/限速器,利用Redis中原子性的自增操作,我们可以统计类似用户点赞数、用户访问数等,这类操作如果用MySQL,频繁的读写会带来相当大的压力


  4、聊天室,在线好友列表。


  好友关系,利用集合的一些命令,比如求交集、并集、差集等。可以方便搞定一些共同好友、共同爱好之类的功能

  5、网站访问统计;


  6、分布式集群架构中的Session共享,默认Session是保存在服务器的文件中,即当前服务器,如果是集群服务,同一个用户过来可能落在不同机器上,这就会导致用户频繁登陆;采用Redis保存Session后,无论用户落在那台机器上都能够获取到对应的Session信息。




=================
=================
Redis安装
Linux安装部署Redis
安装成功




================
redis.conf配置文件

在目录/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。


也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:



1 ./redis-cli
2  CONFIG GET *
回车确认后会将所有配置项读取出来,如下图



这里列举下比较重要的配置项
配置项名称
配置项值范围
说明
daemonize
yes、no
yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行
port
 
指定 Redis 监听端口,默认端口为 6379
bind
 
绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。
protected-mode
yes 、no
保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。
timeout
300
当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
loglevel
debug、verbose、notice、warning
日志级别,默认为 notice
这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。

这样启动后我就可以在外网访问了。



更改方式:

1.vim redis.conf


通过 /daemonize  查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后输入:noh退回到正常模式)



查看Redis是否正在运行

1、采取查看进程方式


1.ps -aux | grep redis



2.关闭进程





================
================
windows安装部署Redis




安装并启动:




这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。
切换到 redis 目录下运行:     redis-cli.exe -h 127.0.0.1 -p 6379




============
============
Linux安装Memcached


安装成功




返回列表 返回列表
评论

    分享到