一.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. jquery-ui.min.js的draggable()拖拽功能

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  2. UI的编程学本质

    一.UI是数据的组织方式.展示及连接 UI模块--数据单元: 链接---数据单元间的联系: 相对链接-数据结构的树.链表: 绝对链接-大的模块级别的切换: 二.UI的IO学本质 屏幕.键盘 将信息输出 ...

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

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

  4. 二叉堆的构建(Java)

    package com.rao.linkList; /** * @author Srao * @className BinaryHeap * @date 2019/12/3 14:14 * @pack ...

  5. es6 函数解构的用途

    es6的变量解构赋值很方便,那具体有哪些用途呢? 1.变换变量的值 let n = 10; let m = 20; [n, m] = [m, n] 这样n , m 的值 会互换, 即:n = 20, ...

  6. cronicle minio s3 存储配置集成

    cronicle 后端存储是可配置的 ,通过使用不同的存储配置,我们可以解决多实例部署以及数据共享的问题 cronicle 的后端存储模型,设计的特别方便,包含了基于文件的,基于s3 的,同时我们也可 ...

  7. 洛谷p2330繁忙的都市题解

    题面 根据题意来分析, 要求出你选了几条路, 最小生成树是能解的, 那么就直接输出n - 1条路即可, 至于最大值则走一遍最小生成树求出即可 这里提供最小生成树的两种方法 1. 克鲁斯卡尔 克鲁斯卡尔 ...

  8. BZOJ2151/洛谷P1792 题解

    若想要深入学习反悔贪心,传送门. Description: 有 \(n\) 个位置,每个位置有一个价值.有 \(m\) 个树苗,将这些树苗种在这些位置上,相邻位置不能都种.求可以得到的最大值或无解信息 ...

  9. Comet OJ - Contest #15 题解

    传送门 \(A\) 咕咕 const int N=1005; int a[N],n,T; int main(){ for(scanf("%d",&T);T;--T){ sc ...

  10. JAVA字符编码三:Java应用中的编码问题

    第三篇:JAVA字符编码系列三:Java应用中的编码问题 这部分采用重用机制,引用一篇文章来完整本部分目标. 来源:  Eceel东西在线 问题研究--字符集编码  地址:http://china.e ...