你好,游客 登录 注册 搜索
背景:
阅读新闻

Redis快速入门

[日期:2016-12-31] 来源:简书  作者:方志朋 [字体: ]

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 版本,直接安装即可。


sss

3.redis 支持的数据类型

3.1字符串

启动客户端 ,存储字符串到redis.

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

linux
相关资讯       Redis入门 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款