一.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. wordpress搜索结果排除某个分类如何操作

    我们知道wordpress的搜索结果页search.php和分类页category.php是一样的,但是客户的网站是功能比较多的系统,有新闻又有产品,如果搜索结果只想展示产品要如何操作呢?随ytkah ...

  2. Chrome插件安装和用法

    XPath Helper 下载插件,拖入chrome://extensions/ 使用方法:ctrl+shift+x呼出 JSONView的使用: 安装JSONView插件 下载插件,拖入chrome ...

  3. virtual abstract override

    virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义. 它们有一个共同点:如果用来修饰方法,前面必须添加public,要不然就会出现编译错误:虚拟方法或抽象方法是不能 ...

  4. .ckpt文件与.pb文件

    .ckpt文件是旧版本的输出saver.save(sess),相当于现在的.ckpt-data checkpoint文件仅用于告知某些TF函数,这是最新的检查点文件. .ckpt-meta 包含元图, ...

  5. Entity Framework Core Query Types

    This feature was added in EF Core 2.1 Query types are non-entity types (classes) that form part of t ...

  6. MySQL InnoDB 群集–在Windows上设置InnoDB群集

    InnoDB集群最需要的功能之一是Windows支持,我们现在已将其作为InnoDB Cluster 5.7.17预览版 2的一部分提供.此博客文章将向您展示如何在MS Windows 10上运行In ...

  7. [RN] React Native 使用 阿里巴巴 矢量图标库 iconfont

    React Native 使用 阿里巴巴 矢量图标库 iconfont 文接上文: React Native 使用精美图标库react-native-vector-icons 本文主要讲述 如何 使用 ...

  8. Windows 10下Xilinx ISE需要注意的事项。

    一是安装.可以在Windows 10下安装Xilinx ISE 14.7. 详见:https://www.eevblog.com/forum/xilinx/guide-getting-xilinx-i ...

  9. nginx return配置说明

    该指令一般用于对请求的客户端直接返回响应状态码.在该作用域内return后面的所有nginx配置都是无效的. 可以使用在server.location以及if配置中. 除了支持跟状态码,还可以跟字符串 ...

  10. tomcat找不到java_home

    Tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 一眼就能看出来是jdk的环境有问题,但是用了 ...