1.Redis概述:
Redis是当今非常流行的基于KV结构的作为Cache使用的NoSQL数据库
存储到内存,读写速度快,性能很好;
Redis:Remote Dictionary Server(远程字典服务),其实是数据结构服务器,使用C语言实现,基于内存的网络型可持久化的数据库;五种数据类型;
2.Redis安装:
windows系统解压运行redis-server.exe和redis-cli.exe
linux系统安装wget redis包,上传并解压缩文件,安装gcc编译器,编译运行即可
3.Redis的两种启动方式
前台启动: ./redis-server
后台启动: ./redis-server &
4.Redis关闭
1>shutdown
./redis-cli shutdown
2>kill pid或者kill-9 pid:粗暴的方式
redis不能用的时候采用直接杀死进程的方式
ps -ef | grep redis : 查看redis的进程
kill redis进程号
5.Redis客户端
1>命令行客户端1:直接连接redis:默认ip127.0.0.1,端口6379 redis-cli: ./redis-cli
2>命令行客户端2:指定ip和端口连接redis: ./redis-cli -h 127.0.0.1 -p 6379
3>Redis远程客户端:RedisDesktopManager
4>Redis编程客户端:Jedis
6.Redis基本操作命令
1>沟通命令,查看状态
ping 返回PONG说明服务器可以执行命令了
2>查看当前数据库中key的数目:dbsize
3>redis默认使用16个库,从0-15,对数据库个数的修改,在redis.conf文件总database 16 改成10的话就是从0-9
4>切换库命令:select db:db是库的索引值,默认第0个库
select 0:表示使用第0个库
5>删除当前库中的数据:flushdb:正式环境中不要使用这个命令,删除数据很严重的
6>redis自带客户端退出:exit或quit
7.Redis的key的操作命令
1>keys pattern
*:表示0-多个字符 例如keys * 查询所有的key
?:表示单个字符:例如wo?d
例如: keys wo*d 或者keys wo?d
生产环境的keys *尽量不要使用,因为生产环境可能比较多的key,然后redis是单线程的操作,列举key的话会阻塞其他redis操作
2>exists
语法: exists key :判断key是否存在
返回值:整数,存在key返回1,其他<例如不存在的>返回0,使用多个key,返回存在key的数量
3>expire 命令得是系统中存在的,不存在的key返回的是0,表示失败的
expire key seconds:设置key的生存时间,超过时间,key自动删除,单位是秒
返回值:设置成功返回数字1,其他情况是0
用户注册功能的时候有验证码的功能:可以使用redis的功能来实现
4>ttl:
ttl key
以秒为单位,返回key的剩余生存时间:
返回值:
-1:没有设置key的生存时间,key永不过期
-2:key不存在
数字:key的剩余时间,秒为单位
例1: 设置redlight的过期时间是10,查看剩余时间
5>type
type key:查看key所存储的数据类型
type k1:例如type red返回none表示没有这个key
6>del
del key 删除存在的key,不存在的key忽略,删除的时候返回0,存在的返回1
返回值:数字,删除的key的数量
8.redis的5种数据类型
1>字符串类型string:最大可以存储512M的数据,可以存储json格式的数据;
2>哈希类型hash,hash特别适合存储对象,是一个string类型的field和value
一般一个key对应的data是一个对象的形式,所以比较适合存储对象类型
用户登录的会话共享,可以使用redis来实现
3>列表类型list:
等同于java中的list,有序可重复
4>set集合
等同于java中的set,无序不可重复的唯一的
5>zset有序集合
有序集合中的数据是经过排序的