一.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. 关于“Error: listen EADDRINUSE: address already in use 127.0.0.1:3000”

    运行vue项目的时候报 Error: listen EADDRINUSE: address already  这个错,表示3000端口号被占用. 解决方法: 1.打开cmd,执行 netstat -n ...

  2. Numpy | 03 数据类型

    numpy 支持的数据类型比 Python 内置的类型要多很多,基本上可以和 C 语言的数据类型对应上,其中部分类型对应为 Python 内置的类型. 下表列举了常用 NumPy 基本类型: 名称 描 ...

  3. 在WinDbg中显示和搜索std::map内容

    我们希望在WinDbg中自动显示.搜索和过滤std::map对象.std::vectors的脚本相对简单,因为vectors中数据的平面结构:map是更复杂的野兽.具体地说,Visual C++ ST ...

  4. Traefik 2.0 发布了

    Traefik 2.0 发布了,包含了很多不错的行特性 tcp 路由(同时也支持sni 路由) 参考配置 tcp: routers: to-db-1: entrypoints: - web-secur ...

  5. 「插头dp」

    Tasklist: 标识设计 神奇游乐园 Manhattan Wiring ParkII 游览计划 CITY: 只用一条回路经过所有可通过的块 括号匹配,注意结束位置不一定是(n,m) 地板: 分已经 ...

  6. 设置Git--在Git中设置您的用户名--创建一个回购--Fork A Repo--社会化

    设置Git GitHub的核心是名为Git的开源版本控制系统(VCS).Git负责计算机上本地发生的所有GitHub相关的事情. 要在命令上使用Git,您需要在计算机上下载,安装和配置Git. 如果要 ...

  7. 第09组 Alpha事后诸葛亮

    组长博客链接 组长博客 参考邹欣老师的问题模板进行总结思考 设想和目标(2分) 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题 我们软件初期旨在解决 ...

  8. spring的重试策略、发生异常会自动重新调用

    测试类以及测试代码.复制即可 package com.cms.util; import javax.swing.plaf.synth.SynthSpinnerUI; import org.spring ...

  9. Note for Reidentification by Relative Distance Comparison

    link Reidentification by Relative Distance Comparison Challenge: large visual appearance changes cau ...

  10. answer

    https://www.cnblogs.com/549294286/p/10451394.html 基于BIO实现的Server端,当建立了100个连接时,会有多少个线程?如果基于NIO,又会是多少个 ...