Redis基础认识及常用命令使用(一)--技术流ken
Redis简介
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。 --摘自360百科
简而言之redis是属于非关系型数据库,存储结构是:key-value,内存-磁盘的存储方式。
Redis的应用场景
1.数据缓存
2.session共享(会话保持)
3.作为计数器
4.消息队列
5.最新列表
Redis的持久化
redis持久化会在磁盘上依赖两个文件
数据文件:rdb
日志文件:aof
redis实现持久化两种机制
RDB:周期的将内存中的数据备份到磁盘
AOF:借助于一个日志文件,这个文件会记录每次操作
Redis中的数据类型
字符类型
列表类型
有序集合类型
无序集合类型
哈希表类型
这部分内容大家也可以参考网站 http://redisdoc.com/
Redis的安装
直接使用yum即可进行安装
[root@ken ~]# yum install redis -y
使用yum安装的redis版本是3.2的
[root@ken ~]# rpm -q redis
redis-3.2.-.el7.x86_64
如果你想下载安装最新版本或者更高的版本可以在redis官网站https://redis.io进行下载
Redis命令使用
首先启动redis。redis监听的是本机的6379端口,可以在配置文件中进行修改
[root@ken ~]# systemctl restart redis
[root@ken ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN *: *:*
LISTEN 127.0.0.1: *:*
LISTEN *: *:*
LISTEN *: *:*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
LISTEN ::: :::*
登录redis使用命令redis-cli
[root@ken ~]# redis-cli
127.0.0.1:>
在上面已经介绍了几种redis的数据类型,下面一一进行示范演示
字符类型
常用操作
1. set key value #将字符串值 value
关联到 key
127.0.0.1:> set age
OK
2. get key #返回 key
所关联的字符串值。
127.0.0.1:> get age
""
3. APPEND key value #将 value
追加到 key
原来的值的末尾
127.0.0.1:> append age ken
(integer)
127.0.0.1:> get age
"10ken"
4. MSET key value [key value ...] #同时设置一个或多个 key-value
对
127.0.0.1:> mset addr jiangsu tel gender male
OK
5. MGET key [key ...] #返回所有(一个或多个)给定 key
的值
127.0.0.1:> mset addr jiangsu tel gender male
OK
127.0.0.1:> MGET addr tel gender
) "jiangsu"
) ""
) "male"
6. INCR key #将 key
中储存的数字值增一
127.0.0.1:> set num
OK
127.0.0.1:> INCR num
(integer)
127.0.0.1:> INCR num
(integer)
127.0.0.1:> INCR num
(integer)
127.0.0.1:> INCR num
(integer)
127.0.0.1:> get num
""
7. DECR key #将 key
中储存的数字值减一
127.0.0.1:> DECR num
(integer)
127.0.0.1:> DECR num
(integer)
127.0.0.1:> DECR num
(integer)
127.0.0.1:> get num
""
8. STRLEN key #返回 key
所储存的字符串值的长度
127.0.0.1:> STRLEN tel
(integer)
127.0.0.1:> get tel
""
127.0.0.1:> STRLEN num
(integer)
127.0.0.1:> get num
""
9. DEL key [key ...] #删除给定的一个或多个 key
127.0.0.1:> DEL age num
(integer)
127.0.0.1:> keys *
) "gender"
) "addr"
) "name"
) "tel"
哈希表类型
常用操作
1.HSET key field value #将哈希表 key
中的域 field
的值设为 value
127.0.0.1:> hset myha ken
(integer)
2.HGET key field返回哈希表 key
中给定域 field
的值
127.0.0.1:> hset myha ken
(integer)
127.0.0.1:> HGET myha ken
""
3. HGETALL key #返回哈希表 key
中,所有的域和值
127.0.0.1:> HGETALL myha
) "ken"
) ""
列表类型
常用操作
1.LPUSH key value [value ...] #将一个或多个值 value
插入到列表 key
的表头
127.0.0.1:> lpush ken
(integer)
2.RPUSH key value [value ...] #将一个或多个值 value
插入到列表 key
的表尾(最右边)
127.0.0.1:> RPUSH ken
(integer)
3.LRANGE key start stop #返回列表 key
中指定区间内的元素,区间以偏移量 start
和 stop
指定
127.0.0.1:> LRANGE ken
) ""
) ""
) ""
) ""
) ""
) ""
) ""
4. RPOP key #移除并返回列表 key
的尾元素
127.0.0.1:> RPOP ken
""
127.0.0.1:> LRANGE ken
) ""
) ""
) ""
) ""
) ""
) ""
127.0.0.1:> RPOP ken
""
127.0.0.1:> LRANGE ken
) ""
) ""
) ""
) ""
) ""
5. LLEN key #返回列表 key
的长度
127.0.0.1:> LLEN ken
(integer)
6. LREM key count value #根据参数 count
的值,移除列表中与参数 value
相等的元素
127.0.0.1:> LREM ken
(integer)
127.0.0.1:> LRANGE ken
) ""
) ""
) ""
) ""
127.0.0.1:> LREM ken
(integer)
127.0.0.1:> LRANGE ken
) ""
) ""
) ""
无序集合
常用操作
1.SADD key member [member ...] #将一个或多个 member
元素加入到集合 key
当中
127.0.0.1:> SADD kenken
(integer)
2.SMEMBERS key #返回集合 key
中的所有成员
127.0.0.1:> SMEMBERS kenken
) ""
) ""
) ""
3.SCARD key #返回集合 key
的基数(集合中元素的数量)
127.0.0.1:> SCARD kenken
(integer)
4.SREM key member [member ...] #移除集合 key
中的一个或多个 member
元素
127.0.0.1:> SREM kenken
(integer)
127.0.0.1:> SMEMBERS kenken
) ""
) ""
有序集合
常用操作
1. ZADD key score member [[score member] [score member] ...] #将一个或多个 member
元素及其 score
值加入到有序集 key
当中
127.0.0.1:> ZADD ke baidu
(integer)
2.ZRANGE key start stop [WITHSCORES] #返回有序集 key
中,指定区间内的成员
127.0.0.1:> ZRANGE ke
) "baidu"
3.ZREM key member [member ...] #移除有序集 key
中的一个或多个成员
127.0.0.1:> ZREM ke baidu
(integer)
127.0.0.1:> ZRANGE ke -
(empty list or set)
Redis基础认识及常用命令使用(一)--技术流ken的更多相关文章
- Redis基础认识及常用命令使用(一)--转载
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- Redis基础认识及常用命令使用
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- Redis基础知识补充及持久化、备份介绍(二)--技术流ken
Redis知识补充 在上一篇博客<Redis基础认识及常用命令使用(一)--技术流ken>中已经介绍了redis的一些基础知识,以及常用命令的使用,本篇博客将补充一些基础知识以及redis ...
- Redis Cluster集群架构实现(四)--技术流ken
Redis集群简介 通过前面三篇博客的介绍<Redis基础认识及常用命令使用(一)--技术流ken>,<Redis基础知识补充及持久化.备份介绍(二)--技术流ken>,< ...
- 解析Redis操作五大数据类型常用命令
摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
- Linux基础系统优化及常用命令
# Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...
随机推荐
- redux之applyMiddleware
redux之所以伟大就在于中间件了,中间件为redux提供了无限可能.redux中中间件是一个不太容易理解的概念,因为涉及到compose.hoc等函数式的概念,看源代码总是懵懵的感觉.今天我们就来详 ...
- 在原生Windows安装Keras
既然要深入学习,就不能和时代脱节,所以选择了keras,资源相对比较丰富.由于Windows饱受歧视,各种文档都不推荐使用.但我又没有换系统的成本,所以还是凑合下,毕竟他们给出了方法,稍微折腾一下还是 ...
- c++实现对windwos 下socket 的封装(实现封包及拆包处理)
SuperSocket.h #pragma once #include<string> #include<iostream> #include <WINSOCK2.H&g ...
- 转 多租户SaaS架构
当使用Techcello框架开发云端多租户SaaS应用程序时,它继承了经过验证和测试的架构蓝图和工程结构.但开发人员仍然会保留灵活性,自由和控制权,以修改和扩展能力以适应其应用要求.此外,SaaS平台 ...
- Python3.* 和Python2.*的区别
许多Python初学者都会问:我应该学习哪个版本的Python.对于这个问题,我的回答通常是“先选择一个最适合你的Python教程,教程中使用哪个版本的Python,你就用那个版本.等学得差不多了,再 ...
- Linux下Oracle数据库的安装
记录详细过程以备使用 一.准备安装 为了确保Oracle数据库11g能够成功安装,您需要做好准备工作,例如检查网络配置.更改Linux内核参数.创建用户Oracle.创建安装目录.设置用户Oracle ...
- Web browser的发展史
浏览器是个显示网页伺服器或档案系统内的HTML文件,并让用户与此些文件互动的一种软件.个人电脑上常见的网页浏览器包括微软的Internet Explorer.Moailla的Firefox.O ...
- Oracle Data Guard配置
Oracle Data Guard 的配置在网上有很多资料,但是没有一个完整的,配置下来多少有些问题.在踩了各种坑之后,自己终于配置成功,就想把这过程记录下来. 1 测试环境 主数据库:windo ...
- 背水一战 Windows 10 (101) - 应用间通信: 通过协议打开指定的 app 并传递数据以及获取返回数据, 将本 app 沙盒内的文件共享给其他 app 使用
[源码下载] 背水一战 Windows 10 (101) - 应用间通信: 通过协议打开指定的 app 并传递数据以及获取返回数据, 将本 app 沙盒内的文件共享给其他 app 使用 作者:weba ...
- spark-submit(spark版本2.4.2)
spark-submit官方文档 :http://spark.apache.org/docs/latest/submitting-applications.html Launching Applica ...