共计 3256 个字符,预计需要花费 9 分钟才能阅读完成。
1.redis 概述
redis 是一个开源的,先进的 key-value 存储可用于构建高性能的存储解决方案。它支持数据结构有字符串,哈希,列表,集合,带有范围查询的排序集,位图,超文本和具有半径查询的地理空间索引。NoSQL,Not Only [SQL],泛指非关系型的数据库。所以 redis 是一种 nosql。敲黑板画重点:redis 是一种 nosql.
redis 的优点:
- 异常快速
- 支持丰富的数据类型
- 操作都是原子的
2. 下载安装
linux 系统下安装:
$ wget http://download.redis.io/releases/redis-3.2.6.tar.gz | |
$ tar xzf redis-3.2.6.tar.gz | |
$ cd redis-3.2.6 | |
$ make |
启动服务器:
$ src/redis-server
启动客户端
$ src/redis-cli
windows 下安装:
由于官方并没有提供 windows 版本,不过微软为了能够应用 redis 到 windows 服务器,由微软维护了 windows 版的 redis,下载地址:https://github.com/MSOpenTech/redis/releases. 建议下载 msi 版本,直接安装即可。

3.redis 支持的数据类型
3.1 字符串
启动客户端 , 存储字符串到 redis.
SET name forezp | |
OK |
取字符串:
redis> get name forezp | |
"forezp" |
3.2Hashes – 哈希值
redis > HMSET king username forezp password xxdxx age 22 | |
redis > HGETALL king | |
1) "username" | |
2) "forezp" | |
3) "password" | |
4) "xxdxx" | |
5) "age" | |
6) "22" |
3.3 Lists – 列表
redis> lpush pricess jack | |
(integer) 1 | |
redis 127.0.0.1:6379> lpush pricess jolin | |
(integer) 2 | |
redis 127.0.0.1:6379> lpush pricess mayun | |
(integer) 3 | |
redis 127.0.0.1:6379> lrange pricess 0 10 | |
1) "jack" | |
2) "jolin" | |
3) "mayun" |
3.4 Redis 有序集合
Redis 有序集合类似 Redis 集合存储在设定值唯一性。不同的是,一个有序集合的每个成员带有分数,用于以便采取有序 set 命令,从最小的到最大的分数有关。
redis > ZADD kindom 1 redis | |
(integer) 1 | |
redis> ZADD kindom 2 mongodb | |
(integer) 1 | |
redis > ZADD kindom 3 MySQL | |
(integer) 1 | |
redis > ZADD kindom 3 mysql | |
(integer) 0 | |
redis > ZADD kindom 4 mysql | |
(integer) 0 | |
redis > ZRANGE kindom 0 10 WITHSCORES | |
1) "redis" | |
2) "1" | |
3) "mongodb" | |
4) "2" | |
5) "mysql" | |
6) "4" |
3.5 Redis 发布订阅
开启客户端作为接受者
redis> SUBSCRIBE myking messages... | |
(press Ctrl-C to quit)1) "subscribe" | |
2) "myking" | |
3) (integer) 1 |
开启另一个客户端作为发送者:
redis > PUBLISH myking "Redis is a great caching technique" | |
(integer) 1 |
这样接受者就可以收到:
"Redis is a great caching technique"
3.6 其他的一些操作
1. 获取所以的 key
redis> KEYS *
2, 判断 key 是否存在
EXISTS key
3. 删除 key
DEL key [key …]
4. 获取数据类型
TYPE key
5. 向尾部添加
APPEND key value
6. 获取字符串长度
strlen key
当然这里只是介绍简单的一些操作,复杂的参考官方文档。
4. 在 Java 应用中使用 redis—jedis
前提是 redis 已经安装,并且已经开启服务。
jedis 下载地址 https://github.com/xetorthio/jedis
Jedis is a blazingly small and sane Redis java client.
Jedis was conceived to be EASY to use.翻译:jedis 是一个非常小的 java 客户端,被认为是容易使用。
怎么使用?
publicstaticvoidmain(String[] args){Jedis jedis = new Jedis("localhost"); | |
System.out.println("Connection to server sucessfully"); | |
//check whether server is running or not | |
System.out.println("Server is running:"+jedis.ping()); | |
jedis.lpush("forezp-list", "Redis"); | |
jedis.lpush("forezp-list", "Mongodb"); | |
jedis.lpush("forezp-list", "Mysql"); | |
// Get the stored data and print it | |
List<String> list = jedis.lrange("forezp-list", 0 ,5); | |
for(int i=0; i<list.size(); i++) {System.out.println("Stored string in redis::"+list.get(i)); | |
} | |
} |
运行:
Connection to server sucessfully
Server is running: PONG
Stored string in redis:: Mysql
Stored string in redis:: Mongodb
Stored string in redis:: Redis
Stored string in redis:: Mysql
Stored string in redis:: Mongodb
Stored string in redis:: Redis
redis 入门介绍就到这里了。另外,敲黑板,划重点: 遇到问题首先不要去百度搜,要去官网搜。聪明的你,是不是自己安装下,实践下。
下面关于 Redis 的文章您也可能喜欢,不妨参考下:
Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm
Redis 主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm
Redis 集群明细文档 http://www.linuxidc.com/Linux/2013-09/90118.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Ubuntu 15.10 下 Redis 集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm
Redis 实战 中文 PDF http://www.linuxidc.com/Linux/2016-04/129932.htm
Redis 的详细介绍:请点这里
Redis 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/139015.htm
