一.redis的安装

安装环境:centos 7

1) 下载redis

这里我们下载的是redis-4.0.10.tar.gz

2)将redis tar包移动至 /usr/local

执行如下命令

cd /usr/local
tar -zxvf redis-4.0..tar.gz
cd redis-4.0./
make

make 结束后/usr/local/redis-4.0.10/src会出现redis-server和redis-cli,如下图

3)启动redis

治理我们使用redis的默认配置文件

 ./redis-server ../redis.conf 

再打开一个终端,使用redis-cli 客户端程序和redis server 交互

[hadoop@ns1 src]$ ./redis-cli
127.0.0.1:> set name jason
OK
127.0.0.1:> get name
"jason"
127.0.0.1:>

二.redis.conf 内容说明

三.执行redis命令

1)本机执行命令

[hadoop@ns1 src]$ cd /usr/local/redis-4.0./src/
[hadoop@ns1 src]$ ./redis-cli
127.0.0.1:>

2)远程执行redis命令

将redis-cli copy到远程计算机,然后在远程计算机执行 redis-cli -h host -p port -a password

[hadoop@dn1 ~]$ ./redis-cli -h ns1 -p
Could not connect to Redis at 192.168.100.9:: Connection refused

咦,为什么没有连接上,查看redis.conf ,原来redis绑定的ip是 127.0.0.1 修改为

bind 192.168.100.9

[hadoop@dn1 ~]$ ./redis-cli -h ns1 -p
ns1:>

成功

四.redis 数据类型

1.String

1)set/get

ns1:> set key value
OK
ns1:> get key
"value"
ns1:> set key new-value
OK
ns1:> get key
"new-value"

2)mget 一次获取多个值

ns1:> set key2 value2
OK
ns1:> mget key key2
) "new-value"
) "value2"
ns1:>

3)mset

ns1:> mset key1 "hello" key2 "world"
OK
ns1:> mget key1 key2
) "hello"
) "world"

4)append 在原有字符串后追加

ns1:> append key1 " jason"
(integer)
ns1:> get key1
"hello jason"

2.hash

1)hmset 向set中设置值

ns1:> hmset class  "jason"
OK
ns1:> hmset class "dong"
OK

其中 class 是map的名字,kv对为 1->"jason"  2->"dong"

2)hdel 删除hash 中某个key

ns1:> hdel class
(integer)

3)hexists 查看hash是否存在该key

s1:> hexists class
(integer)

4)hget 获取hash中某key的值

ns1:> hget class
"dong"

5)hgetall 获取hash中所有的内容

ns1:> hset class  "jason"
(integer)
ns1:> hset class "fei"
(integer)
ns1:> hgetall class
) ""
) "dong"
) ""
) "jason"
) ""
) "fei"
ns1:>

6)hkeys 获取hash 中所有的key

ns1:> hkeys class
) ""
) ""
) ""

3.list

1)lpush 向列表头部插入元素

ns1:> lpush mylist redis
(integer)
ns1:> lpush mylist mongo
(integer)

2)rpush 向列表尾部插入元素

s1:> rpush mylist hive
(integer)

3)lrange 获取列表指定范围内的元素

) "hive"
ns1:> lrange mylist
) "mysql"
) "mongo"
) "redis"
) "hive"

4)lrem 移除列表中的元素

ns1:> lrem mylist  hive // 从头部开始移除两个 hive元素
(integer)
ns1:> lrem mylist - hive // 从尾部开始移除两个hive元素
(integer)

5)lset 在指定的index出插入元素

) "one"
) ""
) "mysql"
) "mongo"
) "redis"

4.set

1)sadd 向集合中添加元素

ns1:> sadd myset
(integer)
ns1:> sadd myset
(integer)
ns1:> smembers myset
) ""

2)srem 移除set中的一个或多个元素

ns1:> sadd myset
(integer)
ns1:> sadd myset
(integer)
ns1:> sadd myset
(integer)
ns1:> srem myset
(integer)
ns1:> smembers myset
) ""
) ""
) ""

3)smembers 查看set中的元素

ns1:> smembers myset
) ""
) ""
) ""

5.zset(sorted set)

1)zadd 向zset中添加元素

ns1:> zadd myzset  mysql
(integer)
ns1:> zadd myzset oracle
(integer)

上述插入语句中的 1  , 2  为一个double 类型的score,zset 会根据这个score排序,类似我们上学时候根据分数排名次

2)zrem 移除zset 中的某个或某几个元素

ns1:> zadd myzset  hive
(integer)
ns1:> zadd myzset hbasse
(integer)
ns1:> zrange myzset -
) "mysql"
) "oracle"
) "hive"
) "hbasse"
ns1:> zrem myzset hive
(integer)

3)zrange 查看zset对应index范围的元素

ns1:> zrange myzset  -
) "mysql"
) "oracle"
) "hbasse"

五.其他问题

1.NOAUTH Authentication required.

输入密码即可

auth "passwd"

2.显示所有的key

ip:port> keys *
(empty list or set)

3.清除所有数据

ip:port> flushall
OK
ip:port> keys *
(empty list or set)
ip:port>

redis 简单教程的更多相关文章

  1. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  2. 【原】Redis入门教程

    最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...

  3. Redis入门教程(二)

    推荐阅读: Redis入门教程(一)https://www.cnblogs.com/jichi/p/10285346.html 5. Redis 的数据结构 5.1 Redis 数据结构介绍 redi ...

  4. 超强、超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...

  5. Linux服务器安装redis数据库教程

    前面小Alan给大家说了jdk的安装,这篇跟大家聊聊redis非关系型数据库在Linux服务器的安装. redis简单介绍 REmote DIctionary Server(Redis) 是一个由Sa ...

  6. 超详细Redis入门教程【转】

    这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下   [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...

  7. Git和Github简单教程

    原文链接:Git和Github简单教程 网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上. 这篇文章 ...

  8. FusionCharts简单教程(三)-----如何自定义图表上的工具提示

    最近有蛮多人总是问我这个FusionCharts制表的问题,帮助他们解决之后,在昨晚发现以前整理的笔记中有这个简单教程,而且以前也发表了几篇这个博文,所以就将其全部上传上来供别人参考.如有不正确之处望 ...

  9. FusionCharts简单教程(八)-----使用网格组件

            有时候我们会觉得使用图像不够直接,对于数据的显示没有表格那样直接明了.所以这里就介绍如何使用网格组件.将网格与图像结合起来.网格组件能够将FusionCharts中的单序列数据以列表的 ...

随机推荐

  1. LoadRunner【第一篇】下载、安装、破解、修改端口号

    loadrunner11下载 loadrunner11大小有4g多,相对另外一款开源的性能测试工具jmeter来说,是非常笨重的了,可以关注公众号联系作则获取. loadrunner11安装(win7 ...

  2. wp_list_categories如何去掉前面的categories

    我们可以通过<?php wp_list_categories(); ?>来调用所有分类,但是在前面会出现一个categories,对强迫症患者来说就是钉子,那就把它去掉吧,顺便让自己更熟悉 ...

  3. Oracle的去重函数 distinct

    原贴地址:http://www.cnblogs.com/rainman/archive/2013/05/03/3058451.html#m0 SQL中distinct的用法   1.作用于单列 2.作 ...

  4. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  5. iOS系统的两个循环

    1.事件循环: 2.显示循环:displaylink:系统定时从gpu缓存获取图片信息显示在屏幕.

  6. 硬币游戏1——打表&&记忆化搜索

    题目 Alice和Bo在玩这样一个游戏,给定 $k$ 个数字 $a_1, a_2,..,a_k$.一开始有 $x$ 枚硬币,Alice和Bob轮流取硬币.每次所取的硬币的枚数一定要在 $k$ 个数当中 ...

  7. bootstrap中data-*的一些归纳

    最近发现date里面的东西跟常用,但是没有过一个系统化的归纳,今天下午正好有小会空,整合一下如下: 1. data-toggle data-toggle指以什么事件类型触发,常用的如下. data-t ...

  8. 常见WinDbg问题及解决方案

    当你调试一个程序时,你最不想处理的是调试器不能正常工作.当你试图集中精力跟踪一个bug时,总是会因为次要的问题而被忽略,尤其是当调试器的问题导致你失去一个重新编程或者浪费了大量的时间等待调试器完成它, ...

  9. Spring和MyBatis整合(注解版)

    1.导入所需要的依赖 <!--MyBatis和Spring的整合包 由MyBatis提供--> <dependency> <groupId>org.mybatis& ...

  10. 记一次CPU使用100%问题排查

    需求 前端同事说测试环境的服务接口查起来很慢,很不稳定,不是个别接口,而是大量接口. 情况分析 由于是在测试环境联调,没有多少用户量.第一步:先去服务器看看资源的使用情况.使用top命令,查看cpu的 ...