Redis入门
什么是redis
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API的非关系型数据库。
redis的应用场景
- 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
- 分布式集群架构中的session分离。
- 聊天室的在线好友列表。
- 任务队列。(秒杀、抢购、12306等等)
- 应用排行榜。
- 网站访问统计。
- 数据过期处理(可以精确到毫秒)
下载Redis
http://download.redis.io/releases/
linux中安装Redis
1. 上传至linux中
2. 解压
tar –zxvf redis-5.0.3.tar.gz
3. 移动并改名
mv redis-5.0.3 /usr/local/redis
4.编译Redis
进入redis安装目录,执行命令
make
5.安装Redis
进入src 目录,执行命令
make install
6.配置Redis
安装成功后,下面对Redis 进行简单配置,方便使用
-
首先为了方便管理,将Redis文件中的conf配置文件和常用命令移动到统一文件中
a) 创建bin和etc文件夹mkdir /usr/local/redis/bin mkdir /usr/local/redis/etc
b) 执行Linux文件移动命令:
mv /usr/local/redis/redis.conf /usr/local/redis/etc cd /usr/local/redis/src mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-cli redis-server /usr/local/redis/bin
-
执行Redis-server 命令,启动Redis 服务
进入刚刚创建的bin目录执行命令./redis-server
注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。
Ctrl+c 退出…
-
后台启动redis服务
a)首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)cd etc/ Vim redis.conf
修改redis.conf配置文件:
为了redis客户端远程能够访问
1.将bind 127.0.0.1
改为#bind 127.0.0.1
2.将protected-mode yes
改为protected-mode no
,
指定日志文件目录 ,暂时可以不设置
logfile “/usr/local/redis/server-out.log”
默认启动时为后台启动 原来是no
,
daemonizeyes
b)再次启动redis服务,并指定启动服务配置文件
redis-server /usr/local/redis/etc/redis.conf
-
服务端启动成功后,执行redis-cli启动Redis 客户端
redis-cil
退出 客户端
quit
或者exit
-
设置Redis客户端登录密码(可以略过,否则以后每次操作都要密码)
- 修改配置
打开配置文件.在/redis/etc下的redis.conf
找到vim redis.conf
#requirepass foobared
去掉行前的注释,并修改密码为所需的密码,保存文件
requirepass 123456
- 重启服务:
以下命令需要到/redis/bin目录下执行
关闭Redis
关闭服务端redis-cli shutdown
开启服务(指定配置文件的形式)pkill redis-server
进入客户端(1) 不使用密码redis-server /usr/local/redis/etc/redis.conf
可以进入,但是不能执行命令redis-cli
进入客户端使用密码
可以进入,并且可以执行命令redis-cli –a 123456
- 修改配置
Redis 操作常用命令
Redis-cli 启动redis 客户端
Pkill redis-server 关闭redis服务
Redis-cli shutdown 关闭redis客户端
Netstat -tunpl|grep 6379 查看redis 默认端口号6379占用情况
Redis数据类型
Redis中存储数据是通过key-value存储的,对于value的类型有以下几种:
1. 字符串
2. Hash类型
3. List
4. Set
5. SortedSet(zset)
在redis中的命令语句中,命令是忽略大小写的,而key是不忽略大小写的。
1. String类型
命令
1. 赋值
SET key value
例如 : set test 123
2. 取值
GET key
例如 : get test
3. 设置/获取多个键值
MSET key value [key value …]
MGET key [key …]
例如 : mset key1 value1 key2 value2 key3 value3
, mget key1 key3
4. 取值并赋值
GETSET key value
例如 : getset s2 222
5. 删除
DEL key
例如 : del test
6. 递增
- 递增数字
例如 :incr key
incr s2
- 增加指定的整数
例如 :incr key increment
incr s2 3
7. 递减
- 递减数字
例如 :decr key
decr s2
- 增加指定的整数
例如 :decr key increment
decr s2 3
8. 向尾部追加值
APPEND
的作用是向键值的末尾追加value
。如果键不存在则将该键的值设置为value
,即相当于 SET key value
。返回值是追加后字符串的总长度。
APPEND key value