查询资料没有找到 redis 从入门到java中的应用, 也没有到框架 spring,springboot中的详细介绍,故本身整理,有错误的地方欢迎指出
mac : brew cask install redis; centos : apt-get install redis; 解压版安装 : 1. 将下载好的安装包放置到linux目录下 2. 解压 : tar -axvf redis-4.0.2.tar.gz 1. 进入 redis-4.0.2, 1. 输入 make; 2. 完成后输入make install; 3. sudo make install 3. 进入 src目录 1. cp redis-server /usr/local/bin/; 2. cp redis-cli /usr/local/bin/ 在任意目录启动 修改 redis.conf 配置文件 daemonize:如须要在后台运行,把该项的值改成yes pdifile:把pid文件放在/var/run/redis.pid,能够配置到其余地址 bind:指定redis只接收来自该IP的请求,若是不设置,那么将处理全部请求,在生产环节中最好设置该项 port:监听端口,默认为6379 timeout:设置客户端链接时的超时时间,单位为秒 loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下通常开启notice logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上 database:设置数据库的个数,默认使用的数据库是0 save:设置redis进行数据库镜像的频率 rdbcompression:在进行镜像备份时,是否进行压缩 dbfilename:镜像备份文件的文件名 dir:数据库镜像备份的文件放置的路径 slaveof:设置该数据库为其余数据库的从数据库 masterauth:当主数据库链接须要密码验证时,在这里设定 requirepass:设置客户端链接后进行任何其余指定前须要使用的密码 maxclients:限制同时链接的客户端数量 maxmemory:设置redis可以使用的最大内存 appendonly:开启appendonly模式后,redis会把每一次所接收到的写操做都追加到appendonly.aof文件中,当redis从新启动时,会从该文件恢复出以前的状态 appendfsync:设置appendonly.aof文件进行同步的频率 vm_enabled:是否开启虚拟内存支持 vm_swap_file:设置虚拟内存的交换文件的路径 vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0 vm_page_size:设置虚拟内存页的大小 vm_pages:设置交换文件的总的page数量 vm_max_thrrads:设置vm IO同时使用的线程数量
基础 : redis 是一个 key-value存储系统 数据结构 : lists(列表),sets(集合),ordered sets(有序集合),hashes(哈希),string(字符串) redis常被称做是一款数据结构服务器,对这些数据类型的操做是原子性, 例如 : 1.对字符串进行附加操做(append);2.递增哈希中的值;3.向列表中添加元素;4.计算集合的并集,交集,差集
性能极高 : redis能支持超过 100K+ 每秒的读写频率 丰富的数据类型 原子操做 : Redis的全部操做都是原子性的,同时Redis还支持对几个操做全并后的原子性执行 丰富的特性 : Redis还支持 publish/subscribe,通知,key过时等特性
服务端 : src/redis-server 客户端 : src/redis-cli 默认配置文件 : redis.conf PS : 能够将可执行文件放置到$path换将目录下,便于之后执行程序时能够不输入完整的路径 cp redis-server /usr/local/bin/ cp resdi-cli /usr/local/bin/ 启动redis : redis-server (src目录下) mac : brew service start redis 查看redis : ps -ef|grep redis netstat -antp|grep 6379 经过端口号检查Redis服务器状态 启动 Redis-cli : redis-cli
Redis keys 是采用二进制安全,咱们可使用任何的二进制序列做为重点java
set命令建立strings : set mykey somevalue ps:set命令将取代现有的任何已经存在的key set mykey newval nx : 当mykey存在时不会保存(新建的意思) set mykey newval xx : 当mykey不存在是不会保存(替换的意思) get命令获取strings : get mykey
set counter 100 incr counter : 101 incrby counter 20 : 121
set counter 100 decr counter : 99 decr counter 20 : 79
mset a 10 b 20 c 30 mget a b
Redis 列表是简单的字符串列表,按照插入顺序排序 rpush mylist 1 rpush mylist b lpush mylist c lrange mylist 0 -1 : lrange 利用了两个检索值,0表示list的开头第一个;-1标示list的倒数第一个 pop : 取出list元素,能够选择不一样的方向进行取出元素,返回值为取出的元素 del : 删除key
hashes是字符串字段和字符串值之间的映射,展示出对象的完美数据类型 hmset : 设置一个多余的hash表 hget : 获取指定的单域 hgetall : 获取指定key的全部信息
redis集合是一个无序的字符串集合 sadd myset 1 2 3 : sadd产生一个无序集合,返回集合的元素个数 smembers : 查看集合 smembers myset sismember : 用于查看集合是否存在,匹配项包括集合名和元素个数,匹配成功返回1,匹配失败返回0 sismember myset 3 sismember myset 30 sismember mys 3
zadd与sadd相似,可是在元素以前多了一个参数,这个参数即是用于排序的,造成一个有序的集合 zadd hackes 1940 "alan kay" zadd hacker 1999 "wodh" zrange hackes : 查看正序集合 zrevrange hacker : 查看反序集合 zrange hacker 0 -1 withscores : 使用withscores参数返回记录值
1. exists and del : exists key : 判断一个key是否存在,存在返回1 del key1 key2 : 删除某个key或者一系列key(成功返回1) 2. type and keys type key : 返回某个key元素的数据类型(none : 不存在,string : 字符串...list,set,zset,hash),key不存在返回空 keys key-pattern : 返回匹配的key的列表(keys foo*:查找foo开头的keys) 3. randomkey and clear randomkey : 随机获取一个已经存在的key,若是当前数据为空,则返回空字符串 clear : 清除界面 不是清空全部的key 4. rename and renamenx rename oldname newname : 改key的名字,新键若是存在则覆盖 renamenx oldname newname : 更改key的名字,若是newname存在,则更新失败 5. dbsize dbsize : 返回当前数据库的key总数
1. 限定key生存时间 : 这是一个无视数据类型的命令,对于临时存储有用处,避免进行大量的del操做 expire : 设置某个key的过时时间(秒) : expire bruce 1000 : 设置bruce这个key1000s后系统自动删除 若是在还没过时的时候,对值进行了改变,那么那个值会清空 2. 查询key剩余生存时间 set 限时 : set key 100 ex 30 ttl : 查看某个key还有多长时间过时,返回s 3. 清除key flushdb : 清空当前数据库中的全部键 flushall : 清空全部数据库中得全部键
1. config get and config set config get : 用来读取运行Redis服务器的配置参数 config set : 用于更改运行Redis服务器的配置参数 auth : 认证密码 config get requirepass : 查看密码 config set requirepass 123 : 设置密码 config get requirepass : 报错 auth 123; config get requirepass;
info [section]: 查询Redis相关信息.INFO命令能够查询Redis几乎全部的信息 server : Redis serve的常规信息 clients : Client的连接选项 memory : 存储占用相关信息 persistence: RDB and AOF 相关信息 stats : 常规统计 replication : Master/slave 请求信息 cpu : CPU 占用信息统计 cluster : Redis集群信息 keyspace : 数据库信息统计 all : 返回全部信息 default : 返回常规设置信息
设置密码 : config set requirepass "password" 配置redis.conf中设置requirepass属性 输入认证方式 : redis-cli -a password : 登陆时 auth password : 登录后
重启 redis server : sudo service redis-server restart 进入 redis-cli 进行验证
1. [http://www.baid.com](http://www.baid.com "实验楼-redis基础")