关闭

5分钟带你入门Redis

标签: redisnosql数据结构解决方案高性能
16222人阅读 评论(4) 收藏 举报
分类:

转载请标明出处:
http://blog.csdn.net/forezp/article/details/61471712
本文出自方志朋的博客

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
tarxzfredis3.2.6.tar.gz cd redis-3.2.6
$ make


启动服务器:

 ```
    $ src/redis-server
 ```

 启动客户端

 ```
 $ src/redis-cli
 ```

mac下安装:

 ```
brew install redis

启动:

redis-server
redis-cli 

windows下安装:

由于官方并没有提供windows 版本,不过微软为了能够应用redis 到 windows服务器,由微软维护了windows版的redis,下载地址:点击进入.建议下载msi 版本,直接安装即可。

sss

启动成功:


[35142] 01 May 14:36:28.939 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
[35142] 01 May 14:36:28.940 * Max number of open files set to 10032
                _._
              _.-``__ ''-._
        _.-``    `.  `_.  ''-._           Redis 2.6.12 (00000000/0) 64 bit
    .-`` .-```.  ```\/    _.,_ ''-._
  (    '      ,       .-`  | `,    )     Running in stand alone mode
  |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
  |    `-._   `._    /     _.-'    |     PID: 35142
    `-._    `-._  `-./  _.-'    _.-'
  |`-._`-._    `-.__.-'    _.-'_.-'|
  |    `-._`-._        _.-'_.-'    |           http://redis.io
    `-._    `-._`-.__.-'_.-'    _.-'
  |`-._`-._    `-.__.-'    _.-'_.-'|
  |    `-._`-._        _.-'_.-'    |
    `-._    `-._`-.__.-'_.-'    _.-'
        `-._    `-.__.-'    _.-'
            `-._        _.-'
                `-.__.-'

[35142] 01 May 14:36:28.941 # Server started, Redis version 2.6.12
[35142] 01 May 14:36:28.941 * The server is now ready to accept connections on port 6379

3.redis 支持的数据类型

3.1字符串

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

redis> SET name forezp
OK

取字符串:

 redis> get name 
"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客户端,被认为是容易使用。

怎么使用?


    public static void main(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 入门介绍就到这里了。另外,敲黑板,划重点: 遇到问题首先不要去百度搜,要去官网搜。聪明的你,是不是自己安装下 ,实践下。

优秀文章推荐:

2
0
查看评论

干货--Redis 30分钟快速入门

一、redis 环境搭建2 二、redis学习笔记之数据类型3 三、redis学习笔记之排序11 四、redis学习笔记之事务16 五、redis学习笔记之pipeline20 六、redis学习笔记之发布订阅23 七、redis学习笔记之持久化28 八、redis学习笔记之主从复制30 九、red...
  • tanggao1314
  • tanggao1314
  • 2016-04-10 21:56
  • 8241

超强、超详细Redis入门教程

转载自: http://www.h5min.cn/article/56448.htm 这篇文章主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 【本教程目录】 1.redis是什么 2.redis的作者何许人也 3....
  • liqingtx
  • liqingtx
  • 2017-03-04 16:20
  • 5422

初学Redis(1)——认识Redis

Redis是一种
  • qtyl1988
  • qtyl1988
  • 2014-09-26 09:54
  • 25407

redis入门 小demo

配置环境: redis 解释: 请百度! 需要工具:redis可视化工具( redis-desktop-manager-0.8.3.3850.rar  ) 、redis-server.exe、redis-cli.exe  redis-server.exe 打开界面: red...
  • u013036959
  • u013036959
  • 2017-03-07 19:58
  • 484

Redis入门精华(纯干货)

不做任何商业用途,集合各种资源整理的入门知识点,仅分享 个人整理redis,文件下载地址:http://download.csdn.net/detail/qq_26881739/9737177 Redis简介(个人理解):redis是一个key-value存储系统,相比传统的关系型数据库,拥有高性能...
  • qq_26881739
  • qq_26881739
  • 2017-01-13 19:17
  • 417

超强、超详细Redis入门教程

http://www.jb51.net/article/56448.htm 这篇文章主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 【本教程目录】 1.redis是什么 2.redis的作者何许人也 3....
  • wq343502916
  • wq343502916
  • 2015-08-10 22:04
  • 2857

Redis入门教程

最近互联网公司中很流行key-value数据库,但这是大学数据库课上学不到的东西,所以我讲通俗的翻译篇这方面的教程简短总结下Redis NOSQL世界的充满冒险的旅程我们旅途的行程就像其他的旅途一样, 我们的旅途也是有很多行程组成, 在开始之前我先将他们写下来:Redis? 这是什么? 可用的数据类...
  • terryzero
  • terryzero
  • 2010-07-08 00:43
  • 11855

Redis入门很简单之一【简介与环境搭建】

【Redis简介】   . NoSQL简介:     NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求.常...
  • codepython
  • codepython
  • 2015-12-08 16:24
  • 1229

漫谈《大型网站技术架构》

本文的内容来自阿里巴巴员工李智慧的著作《大型网站技术架构 核心原理与案例分析》,这本书很值得一看,故整理之。
  • forezp
  • forezp
  • 2017-04-04 20:37
  • 22602

深漂一年,一位程序员的2016年终告白

2016年早已离我们而去,2017年已经快过去了一个月,是时候赶在过年之前写一篇总结。记录一下过往,展望下未来。一、2016年我做了什么1.离开了武汉2016年,我辞去了武汉的工作,离开了生活了十几年的城市,在没有找到下家,没有找到住处的情况下,独自一人去了深圳。这是一个对我的人生有重要意义的决定。...
  • forezp
  • forezp
  • 2017-03-12 00:22
  • 21347
    个人资料
    • 访问:4714838次
    • 积分:15328
    • 等级:
    • 排名:第877名
    • 原创:125篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1723条
    公众号推荐
    加我微信,拉你进Spring Cloud中国社区群



    关注我的微信公众号,优质内容定期分享
    博客专栏
    共同进步
    Spring Cloud中国社区QQ交流群:643970587
    我的邮箱:miles02@163.com
    最新评论