一.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. Ruby break, next, redo, retry

    # -*- coding: UTF-8 -*- # E3.10-5.rb 演示break, next, redo, retry puts "演示break" c='a' for i ...

  2. 记一次PATH环境变量设置不生效的问题

    问题:卸载原有版本jdk后,如下图在/etc/profile中配置新的环境变量且source /etc/profile 生效配置后,JAVA_HOME值都正确,但PATH变量值还是不对 echo $P ...

  3. DSL的本质:领域构建的半成品

    DSL的本质是使用通用和专用语言构建领域的半成品: 实际上是构建了一个世界观.小宇宙的半成品: 这个半成品包含领域的基本要素.联系方式和基本运行规律: 开发者使用这个半成品平台进行开发能达到事半功倍. ...

  4. log4j2 配置文件解读

    1.日志相关介绍 日志接口(slf4j):slf4j是对所有日志框架制定的一种规范.标准.接口,并不是一个框架的具体的实现,因为接口并不能独立使用,需要和具体的日志框架实现配合使用,比如log4j.l ...

  5. LeetCode 953. Verifying an Alien Dictionary

    原题链接在这里:https://leetcode.com/problems/verifying-an-alien-dictionary/ 题目: In an alien language, surpr ...

  6. JS对象创建模式

    JS的对象创建模式 1.Object构造函数模式 var person = new Object(); person.name = 'name'; person.age = 43; console.l ...

  7. 如果设置Redis客户端的超时时长?

    客户端的超时时长分连接超时和读写超时,如果是基于hiredis的实现,则读写超时是合在一起的,同一参数控制. 在hiredis中,读写超时调用函数redisSetTimeout设置,可以看到没有区分读 ...

  8. 假设检验总结以及如何用python进行假设检验(scipy)

    几种常见的假设检验总结如下: 假设检验名称 Z检验 t检验 χ2检验 F检验 原假设 H0: μ≥μ0        H0: μ≤μ0        H0: μ=μ0  (比较样本和总体均值)     ...

  9. 洛谷P4735题解

    若想要深入学习可持久化0-1Trie树,传送门. Description: 给定数列 \(\{a_n\}\) ,支持两种操作: 在数列尾添加一个数 \(x\) ,数列长度变成 \(n+1\) ; 给定 ...

  10. Mongoose 入门以及实现数据的增、删、改、查

    mongoose 介绍 Mongoose 是在 node.js 异步环境下对 mongodb 进行便捷操作的对象模型工具.Mongoose 是 NodeJS 的驱动,不能作为其他语言的驱动. Mong ...