公司项目使用ehcache和redis,找了些资料,学习并记录下。
1. SQL和NoSQL
SQL:关系型数据库,采用了关系模型来组织数据库,关系模型简单值就是一个二维表格模型。关系模式:是对关系的描述,数据看中通常叫表结构,表名(字段也叫属性)。(SQL Server、 Oracle、MySQL)
NoSQL:(Not only SQL)非关系数据库,满足大量的并发操作,采用key-value存储形式。每个属性唯一键值。(Redis、MongoDB)
优:对海量数据高并发读写;
对海量数据的高效率存储和访问;
分布式存储,对数据的扩展性和搞可用性。
SQL中对大量数据迁移和修改非常麻烦,因为有复杂的表结构;而NoSQL非常轻松,没有复杂的结构,全是键值对。
NoSQL是对SQL性能上的弥补,二者并不能取而代之,是相辅相成。
2. Redis优势
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行
3. Redis安装
Redis官网只提供了linux版本的下载 官网:https://redis.io/
Windows版本只能在github上下载 https://github.com/MicrosoftArchive/redis/releases
Windows安装:下载对应版本后,解压到根目录下:(例:D:\Redis)
打开CMD窗口到Redis目录下,输入redis-server.exe redis.windows.conf ,启动服务。

再次启动cmd窗口到Redis下,(原来启动的服务窗口不要关闭)输入redis-cli进入服务。

查看服务是否启动:输入命令 ping
若输出pong 则表是服务启动成功。
4. Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
String类型
set写/get读

Hash 类型
插入多个值 hmset
读所有 hgetall

插入一个值:hset
读其中的值:hget

List类型
lpush 插入
Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。 其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

Set类型
String的无序集合.
插入:sadd
读取:smembers

Zset类型
有序集合,Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
插入zadd key score value
读取 zrange key start end

5. Redis命令
远程服务命令:redis-cli -h host -p port -a password
例:redis-cli -h 127.0.0.1 -p 6379 -a ”mypass”
登录操作
退出连接:quit
密码认证:auth pwd
登录:./redis-cli -p 6379 -a 123 [-h xx.xx.xx.xx] [--raw] [-n 第几个数据库]
查询操作
查看生存时间:ttl key
是否存在:exists key
随机返回key空间的一个key:randomkey
查看值的类:randomkey
查看连接是否存活:ping
打印内容:echo
当前数据库中key的数目:dbsize
服务器的信息和统计:info
查看服务器参数信息:config get *、config get key
查看key对应value值长度:strlen
获取子字符串:getrange key start end
一次性获取多个key的值:mget key1 key2 ...
迭代遍历:scan 0
迭代遍历查找:scan 0 match key
迭代遍历查找,指定每次的个数:scan 0 match key count n
查看redis超长时间设置:config get slowlog-log-slower-than
查看redis超长时间日志记录个数:config get slowlog-max-len(如果日志队列已超出最大长度,则最早的记录会被从队列中清除)
获取超长记录日志:slowlog get n,
全部用slowlog get *
查看集群节点信息:cluster nodes
查看key类型:type key
增加操作
增加/修改:set key value
增加(存在返回0,不存在返回1,nx表示not exists):setnx key 增加/修改,同时设置生存时间(ex表示expire):setex key seconds value
修改操作
设置生存时间:expire key seconds
重命名:rename key newkey
持久化(移除给定key的过期时间):persist key 选择数据库(0-15):select index
将当前数据库中的key转移到其它数据库中:move key index
浙公网安备 33010602011771号