Redis安装部署

1.Redis浅析理解

redis以字典结构存储数据,类似dict[key]="value",这种结构可以根据key值获取或者删除字典项,redis的键值可以是字符串,也可以是其他的数据类型,包括:散列,列表,集合

有序集合,

redis所有数据都存储到内存中,因此读取速度非常快,同时也支持持久化,防止程序终止后内存数据丢失,可以异步写入数据到磁盘,同时不影响程序的运行。

作为缓存系统,redis还可以限制内存的大小,当达到最大内存限制时根据一定的的规则自动淘汰不需要的键。

redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易实现高性能的优先级队列。

以上是文档中了解的,具体的话未实践,下面只能简单写写,自己入门级学习的心得。

有一点说明下,redis的小版本号,偶数代表稳定版,奇数代表的非稳定版,大家可以注意下。

2.安装Redis

 学习使用Cent OS系统,虚拟机搭建环境安装REDIS。

root:   wget http://download.redis.io/redis-stable.tar.gz

如果不能下载就手动到官网下载吧:https://redis.io/download/

tar -xvf redis-stable.tar.gz

cd redis-stable

cd  src

make  all

由于redis是由C语言编写的,下载下来的源码直接执行make,编译源代码即可。

[root@  src]# make all

Hint: It's a good idea to run 'make test' ;)

[root@   src]# make install

Hint: It's a good idea to run 'make test' ;)

    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL install
    INSTALL

3.启动与停止Redis

-rwxr-xr-x. 1 root root     7.5M Dec  7 23:58 redis-server   --通常我们说的redis 服务端,

-rwxr-xr-x. 1 root root     5.5M Dec  7 23:58 redis-cli  --通常我们说的客户端,命令行客户端,对于学习redis很重要

-rwxr-xr-x. 1 root root     5.4M Dec  7 23:58 redis-benchmark  --redis性能测试工具,暂未研究

-rwxr-xr-x. 1 root root      22K Dec  7 23:58 redis-check-aof   --redis AOF文件恢复工具

-rwxr-xr-x. 1 root root     7.5M Dec  7 23:58 redis-check-rdb   --redis RDB文件检查工具

通常我们使用redis-server 和redis-cli 服务

3.1 直接启动:

redis 默认端口6379,直接执行命令   redis-server

也可以指定端口,-port 6370 ,执行命令:   redis-server   --port  6370

考虑到redis有可能正在从内存数据同步到磁盘,所以直接kill进程可能导致数据丢失,所以建议按正常的方式停止:

redis-cli SHUTDOWN

3.2 使用配置文件启动,这里暂不说明,大家可以查看相关资料

tcp-backlog 511 --

port 6379    --数据库端口配置,默认6379

protected-mode yes

bind 127.0.0.1 --绑定IP

timeout  30000  --如果一个连接在timeout设置的时间内是空闲的,这样就关闭该连接

tcp-keepalive 300

daemonize no --后台运行标志,yes代表后台运行

supervised no

pidfile /var/run/redis_6379.pid  --如果daemonize设置为yes,就会产生该文件,这个是pid定义,一般对于端口号

#日志级别,默认是verbose(详细),各种日志级别:

#debug:很详细的信息,适合开发和测试

#verbose:包含许多不太有用的信息,但比debug要清爽一些(many rarely useful info, but not a mess like #the debug level)

#notice:比较适合生产环境

#warning:警告信息

loglevel notice

#指定log文件的名字,默认是stdout。stdout会让redis把日志输出到标准输出。但是如果使用stdout而又以后台进#程的方式运行redis,则日志会输出到/dev/null

logfile stdout

logfile ""

#设置数据库数目。默认的数据库是DB 0。可以通过SELECT <dbid>来选择一个数据库,dbid是[0,'databases'-1]的数字

databases 16


################## 快照#################################

#

# 硬盘上保存数据:

#

#   save <seconds> <changes>

#

#   <seconds>和<changes>都满足时就会触发数据保存动作。

#   

#

#   以下面的例子来说明:

#   过了900秒并且有1个key发生了改变 就会触发save动作

#   过了300秒并且有10个key发生了改变 就会触发save动作

#   过了60秒并且至少有10000个key发生了改变 也会触发save动作

#

#   注意:如果你不想让redis自动保存数据,那就把下面的配置注释掉!

save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes

#存储数据时是否压缩数据。默认是yes。

rdbcompression yes


rdbchecksum yes

# 保存dump数据的文件名

dbfilename dump.rdb

# 工作目录.

#

# 数据会被持久化到这个目录下的‘dbfilename’指定的文件中。

# 注意,这里指定的必须是目录而不能是文件

dir ./

slave-serve-stale-data yes
slave-read-only yes

repl-diskless-sync no

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

aof-load-truncated yes

lua-time-limit 5000

hash-max-ziplist-entries 512
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

set-max-intset-entries 512

zset-max-ziplist-entries 128
zset-max-ziplist-value 64

activerehashing yes

aof-rewrite-incremental-fsync yes

hz 10

# 设置最大连接数. 默认没有限制,  '0' 意味着不限制.

#

# maxclients 128

后面更多的参数就不在具体描述了,大家查资料参考下,下面我们设置使用配置文件启动数据库

#!/bin/sh
#execute dir
echo "==========================="
echo "redis is begin to startting"

redis_path=/redis/redis-stable/src/
redis_conf=/redis/redis-stable/

# run server

$redis_path/redis-server $redis_conf/redis.conf
echo "redis is running............"

#run client
echo "redis client is begin to started"

$redis_path/redis-cli

简单的启动脚本,要写的更好一些可以好好改进一下。


3.3 配置

redis字典结构的存储服务器,类似关系数据库,一个实例可以创建多个数据库,redis也有多个数据库序号,默认情况下应该是16个,可以通过databases参数设置

序号从0开始,默认登录的话使用

的是0数据库节点,可以通过select命令,切换到不同的数据库序号。同时redis数据库不可以修改这些数字序号的数据库名称,也不支持给每个序号设置不同的用户密码

这样就是一个客户端要么都可以访问所有序号数据库,要么都不可以访问,多个数据库节点之间也不是完全隔离的。


127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> select 16  --如果选择数据库序号失败的话,返回下面
(error) ERR invalid DB index
127.0.0.1:6379[2]> select 15  --如果连接正确的话,就会返回OK,
OK


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值