简介
全部开源免费,遵循BSD协议(),是一个高性能(NOSQL)的key-value数据库,是一个开源的使用ANSI C语言编写,支持网络,可基于内存亦可持久化的日志型,key-value数据库
不允许空值的key存在,命令不区分大小写,但是key严格区分大小写
NOSQL:非关系数据库
redis是单线程
redis瓶颈是根据机器得内存和网络宽带,数据都在内存中,多线程会有CPU上下文切换,此操作效率会降低
安装
由于redis是使用c语言编写的所以要先安装gcc语言环境code:gcc:yum -y install gss automake autoconf libtool make
注意点:运行yum是出现 。/var/run/yum.pid 已被锁定,pid位XXX的另一个程序正在运行,解决办法 code
rm -f /var/run/yum.pid
下载redis http://download.redis.io/releases/redis-4.0.1.tar.gz
解压 tar -zxvf 安装包
编译 make 或 make MALLOC=libc
安装编译后的文件到指定路径 code:make PREFIX=/usr/local/redis install
配置redis===》redis配置文件
移动redis配置文件,再解压的redis目录中将redis.config文件移动到redis的安装目录中 code:cp redis.conf /usr/local/redis
查看配置文件 code:less -mN redis.config
redis默认不是以守护进程的方式运行,可以通过修改改配置,使用yes启用守护进程 redis.config–>daemonize no–>改为yes
守护启动 code:./redis.server ./redis.config
当redis以守护进程启动时,redis默认会把pid写入 /var/run/redis**.pid文件,可以通过pidfile指定 code:pidfile /var/run/redis**.pid
指定默认端口,作者喜欢的歌手
默认位6379访问IP限制,默认配置的是127.0.0.1代表只能本机访问,需要注释掉bind 127.0.0.1,默认持久化操作,在指定时间内对key进行操作后,会将数据保存在硬盘中
默认密码 requirepass
在开启密码后访问命令:redis-cli -h host(IP:本机可不写) -p port(端口默认可不写) -a password(qiu)
退出客户端 : code:quit
关闭方式
杀进程(不存储数据)命令:kill -9 PID
存储关闭会爆粗数据在硬盘:./bin/redis-cli shutdown 关闭redis服务,通过客户端进行shutdown,如果redis设置了密码,需要在客户端先登录后关闭
性能测试 code:redis-benchmark -h localhost -p 6379 -c 100 -n 1000000
redis key命名 规范
单个 key存入512m大小<br /> 1、key不要太长尽量不超过1024字节,这不仅消耗内存,而且会降低查询效率<br /> 2、key也不要太短。太短可读性会降低<br /> 3、在一个项目中,key最好使用统一的命名模式 示例: blogs:user:name blogs:user:password
redis命令
基础命令
select index 切换数据库<br /> dbsize 查当前数据库大小<br /> flushdb 清空数据库<br /> flushdb 清空全部数据库<br /> del key 删除key 以数组形式存在 示例:del key1 key 2,返回操作记录数<br /> dump key 序列化key 示例:dump key1<br /> exists key 查询key是否存在 exists key1 返回记录数<br /> expire key 为key指定过期时间 以秒为单位 expire key1 10(秒)<br /> pexpire key 指定存活时间 以毫秒为单位<br /> ttl key 查key存活时间 -1永久 -2没了 pttl 返回存活时间,毫秒单位<br /> persist key 移除key的过期时间,key永久保存<br /> keys patterm 查找符合给定模式的key,获取与pattern匹配的key,返回所有与该匹配的通配符 *代表所有 ?代表一个字符<br /> random key 从当前数据库中随机返回一个key<br /> rename key newkey 重命名key rename key1 key11<br /> move key db 将当前数据库的key移动到给定的数据库 db中 示例:move c 1<br /> type key 返回key所存储的值的类型
redis 类型
redis数据类型
字符串string,hash哈希,list列表,set集合,zset(sorted set:有序集合)
String
string时redis最基本的数据类型,一个kye对应一个value,且是二进制安全的,意思时redis的string可以包含任何数据,比如jpg图片或者序列化的对象,单个key最大存储512M
二进制安全是指在传输