一、Redis简介
Redis(Remote Dictionary Server ),即远程字典服务!是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库!
1.关系型数据库(RDBMS)
- Mysql
- Oracle
- DB2
- SQLService
2.非关系型数据库(NoSql)
- Redis
- Mongo db
- MemCached
3.Redis应用场景
- 缓存
- 任务队列
- 消息队列
- 分布式锁
二、Redis下载与安装
Redis安装包分为windows版与Linux版:
Windows版下载地址:Releases · microsoftarchive/redis · GitHub
Linux版下载地址:Index of /releases/
1.在Linux系统安装Redis步骤:
- 将Reids安装包上传到Linux
- 解压安装包,命令tar -zxvf redis-4.0.0.tar.gz -C /usr/local
- 安装Reids的环境依赖gcc,命令:yum install gcc-c++
- 进入/usr/local/redis-4.0.0,进行编译,命令:make
- 进入redis的src目录,进行安装,命令make install
安装完成后ll可看到这俩文件,命令窗口输入cd ..回到上一级ll查看当前文件,配置全在conf
2.Redis下载与安装
Redis的Windows版属于绿色软件,直接解压即可使用,解压后目录结构如下:
3.Redis服务启动与停止
Linux中redis服务启动,可以使用redis-service,默认端口号为6379,ctrl+C停止Redis服务
4.配置相关文件
/dae+enter 查找信息
配置当前redis服务启动后是在前台还是后台运行,默认为no,yes开启后台运行
5.在Windows系统安装Redis步骤:
双击运行即可,如果闪退可尝试以管理员身份运行,闪退的用redis-server.exe redis.windows.conf,ctrl+C停止Redis服务
6.设置密码远程连接
requirepass foobared,这里被注,说明不需要密码,如需密码,i进行编写将#删除
查找redis:
ps -ef | grep redis 获得进程id
杀掉进程:
kill -9 21848
此时表示认证通过
连接虚拟机中的redis服务,点击redis-cli时shirt+右健打开终端,使用如下口令:
.\redis-cli.exe -h 192.168.72.128 -p 6379 -a 123456
一般来说以上口令可以直接连接成功,但是此时还连接不上,需要更改配置文件
将其加上#使其可以连接远程,保存并退出后重启服务
关闭防火墙后重新输入口令
关闭防火墙:暂时关闭防火墙(systemctl stop firewalld)
三、Redis数据类型
Redis存储的是key-value结构的数据,其中key是字符串类型,value有五种常用的数据类型:
- 字符串:String(最常用)
- 哈希:hash(适合存储一些对象)
- 列表:list(可以做任务队列)
- 集合:set
- 有序集合:sorted set (排行榜)
四、Redis常用命令
1.字符串:String
此时重新输入set age 20,get获取会发现依然带引号,是因为set赋值最终都会转换成字符串,string类型。注意,如果key值相同的情况下,后设置的值会覆盖之前设置的值。
set key value
get key
setex key seconds value
时间一到redis自动清除
setnx key value
2.哈希:hash
hset key field value
hget key field
hkeys key
hvals key
hgetall key
hdel key field
3.列表:list
lpush key value1 [value2]
lrange key start stop
rpop key
llen key
brpop key1 [key2] timeout
4.集合:set
sadd key member1 [member2]
smembers key
scard key
sinter key1 [key2]
sunion key1 [key2]
sdiff key1 [key2]
srem key member1 [member2]
5.有序集合:sorted set
zadd key score1 member1 [score2 member2]
zrange key start stop [withscores]
zincrby key increment member
zrem key member [member]
6.通用命令
keys pattern 查找所有符合给定模式( pattern)的key
exists key 检查给定key是否存在
type key 返回key所存储的值的类型
ttl key 返回给定key的剩余生存时间(TTL,time to live),以秒为单位
del key 该命令用于在key存在是删除key