命令行下 初识 redis 入门教程
1. redis-cli 命令行进入redis
set,get,
setex,给键值设置过期时间 setex name 10 DOG //设置name键 为 DOG 10秒后过期。
setnx,判断值是否存在,如果存在就不更新键值。如果不存在,则赋值。 (nx :not exist)
getset,设置一个新值,并返回key的旧值。
mset,批量设置键值。
msetnx,
mget,
setrange,替换值串部分。 客户端测试:
redis 127.0.0.1:> set email test@gmail.com
OK
redis 127.0.0.1:> setrange email qq.com
(integer)
redis 127.0.0.1:> get email
"test@qq.comcom"
redis 127.0.0.1:> set email test@qq.com
OK
redis 127.0.0.1:> get email
"test@qq.com"
redis 127.0.0.1:> setrange email gmail.com
(integer)
redis 127.0.0.1:> get email
"test@gmail.com"//简而言之,替换部分如果未超过原来字符串,则原本未被替换的字符串被保留下来。 如果被替换部分长度超过原来,则显而易见。
getrange,
redis 127.0.0.1:> set key1
OK
redis 127.0.0.1:> getrange key1
""
incr,自增1, 如果键不存在,第一次自增相当于赋值 (decr)
redis 127.0.0.1:> set key1
OK
redis 127.0.0.1:> incr key1
(integer)
incrby,增加 或 减少 (decrby)
redis 127.0.0.1:> set key1
OK
redis 127.0.0.1:> incrby key1 -
(integer)
append, 值后 拼接一个新字符串。 返回新串长度
strlen,
2. -------------------h : hash
这里截图2个, 说明普通键值对 与 hash key->value区别:


hset,hget,hdel,hmset,hmget, hincr, hincrby,
hlen,返回hash field的个数
hexists,
redis 127.0.0.1:> hexists user: name
(integer)
hkeys,返回hash表 所有 field
hvals,返回hash表 所有 值
hgetall,返回hash表 所有 field 与 值
3.list
-------------------------------- 头
| |
| |
| |
| |
--------------------------------尾
lpush:从list头开始压入数据
rpush:从list尾开始压入数据
redis 127.0.0.1:> lpush list1 wo
(integer)
redis 127.0.0.1:> lpush list1 cao
(integer)
redis 127.0.0.1:> lpush list1 haha
(integer)
redis 127.0.0.1:> lrange list1 -1//从头 = > 尾 依次是.
) "haha"//头
) "cao"
) "wo"//尾 redis 127.0.0.1:> rpush list1 wo
(integer)
redis 127.0.0.1:> rpush list1 cao
(integer)
redis 127.0.0.1:> rpush list1 haha
(integer)
redis 127.0.0.1:> lrange list1 -
) "wo"
) "cao"
) "haha"
linsert: 在堆栈数据中间 插入一个数据, 实例:在1,3之间插入2
redis 127.0.0.1:> del list1
(integer)
redis 127.0.0.1:> lpush list1
(integer)
redis 127.0.0.1:> lpush list1
(integer)
redis 127.0.0.1:> linsert list1 before
(integer)
redis 127.0.0.1:> lrange list1 -
) ""
) ""
) ""
lset,对指定下标元素 进行赋值
lrem,删除相同对应value元素. lrem list1 2 one //删除list1中 2个 one 元素
ltrim,保留指定key范围内的数据.
redis 127.0.0.1:> lpush list1 one
(integer)
redis 127.0.0.1:> lpush list1 two
(integer)
redis 127.0.0.1:> lpush list1 three
(integer)
redis 127.0.0.1:> ltrim list1 -
OK
redis 127.0.0.1:> lrange list1 -
) "two"
) "one"
lpop:从头 弹出一个 元素.
rpop:从尾 弹出一个 元素.
rpoplpush list1 list2: 从list1尾部弹出元素 A 压入到 list2的头部
lindex : 返回list中 小标为 index的 元素值。 // lindex list1 0.
llen:
4.sets集合:无序集合 无重复元素
sadd: sadd set1 hello // sadd set1 world //sadd 不可以添加相同元素。 添加成功返回1
smembers:查看集合所有成员
srem: 删除成员
spop:随机弹出一个元素
sdiff:返回所有给定key与第一个key的差集
redis 127.0.0.1:> sadd set1 one
(integer)
redis 127.0.0.1:> sadd set1 two
(integer)
redis 127.0.0.1:> sadd set2 one
(integer)
redis 127.0.0.1:> sadd set2 three
(integer)
redis 127.0.0.1:> sdiff set1 set2
) "two"
sdiffstore:将差集返回的 集合 存储到 另一个集合中。 sdiffstore set3 set1 set2 //返回set3的差集
redis> SMEMBERS peter's_movies
1) "bet man"
2) "start war"
3) "2012" redis> SMEMBERS joe's_movies
1) "hi, lady"
2) "Fast Five"
3) "2012" redis> SDIFF peter's_movies joe's_movies
1) "bet man"
2) "start war"
sinter:集合间取交集
sinterstore:
sunion: 返回 并集
sunionstore:
smove:从第一个集合从 移除 指定key 并且 添加到 第二个集合中
redis 127.0.0.1:> smove set1 set2 two
(integer)
redis 127.0.0.1:> smembers set2
) "three"
) "two"
) "one"
scard:查看集合元素个数
sismember: 判断 某元素 是否为 集合 当中 元素
srandmember:从集合中随机返回一个元素
5.sorted sets有序集合 zset
zadd:
zrange:
zrem:
redis 127.0.0.1:> zadd zset1 h
(integer)
redis 127.0.0.1:> zadd zset1 i
(integer)
redis 127.0.0.1:> zadd zset1 i//更新序号
(integer)
redis 127.0.0.1:> zrange zset1 -
) "h"
) "i"
redis 127.0.0.1:> zrange zset1 - withscores
) "h"
) ""
) "i"
) ""
redis 127.0.0.1:> zrem zset1 i
(integer)
redis 127.0.0.1:> zrange zset1 - withscores
) "h"
) ""
zincrby:集合中添加某元素,如果此元素不存在则直接添加进去。 如果存在,则序号自增incr,值不变。
redis 127.0.0.1:> zincrby zset1 h
""
redis 127.0.0.1:> zrange zset1 - withscores
) "h"
) ""
redis 127.0.0.1:> zincrby zset1 i
""
redis 127.0.0.1:> zrange zset1 - withscores
) "i"
) ""
) "h"
) ""
zrank:返回集合 下标号
redis 127.0.0.1:> zrange zset1 -
) "i"//第0个元素
) "h"//第1个元素
redis 127.0.0.1:> zrank zset1 i
(integer)
redis 127.0.0.1:> zrank zset1 h
(integer)
zrevrank:返回集合下标。 逆序排序后 得到指定元素的下标。 与zrank相反
zrevrange:降序排序
zrangebyscore:给定score范围内的元素
zscount:返回给定score区间内 元素个数
redis 127.0.0.1:> zrange zset1 - withscores
) "i"
) ""
) "twooo"
) ""
) "h"
) ""
) "teno"
) ""
redis 127.0.0.1:> zrangebyscore zset1
) "twooo"
) "h"
) "teno"
redis 127.0.0.1:> zcount zset1 6// 区间是[] 包括左右两边
(integer)
zcard: 返回集合中所有元素个数
zremrangebyrank : 删除指定 索引 区间内的 元素
redis 127.0.0.1:> zrange zset1 -
) "i"
) "twooo"
) "h"
) "teno"
redis 127.0.0.1:> zremrangebyrank zset1
(integer)
redis 127.0.0.1:> zrange zset1 -
) "h"
) "teno"
zremrangebyscore: 删除指定 score 区间内的 元素
6 :服务端:键值命令
keys * keys s*//模糊匹配keys
exists set1 //
del set1
expire //设置现有的键 的过期时间, 过期后 则被自动删除
select //选择数据库, redis-cli默认进去数据库0 , select 0 。 redis数据库有 0 - 15
move 将当前数据库中的key 移动到其他数据库中 move key1 2 //将当前数据库键key1 移动到数据库2中
persist 取消设置的过期时间
randomkey 随机返回当前数据库中key
rename
type 返回键 的数据类型
echo 直接在命令框 输出
dbsize 返回当前数据库 键 个数
info 返回redis服务器 相关信息
config get * //返回配置信息
flushdb //删除当前数据库 所有键
flushall //删除0-15数据库所有 键
问题1:界面版
php WEB版 在线管理 redis,动态监控数据,PHPRedisAdmin
https://github.com/ErikDubbelboer/phpRedisAdmin 下载 .zip
解压到根目录下
出现HTTP 500错误,查看日志error.log
[Wed Jul 03 10:20:28 2013] [error] [client XX.XXX.XX] PHP Warning: require_once(/var/www/phpRedisAdmin-master/predis/autoload.php): failed to open stream: No such file or directory in /var/www/phpRedisAdmin-master/includes/common.inc.php on line 35
还需要下载predis到PHPRedisAdmin 根目录下。
https://github.com/nrk/predis 下载.zip 解压
直接访问管理redis数据。
-----------
直接下载总结好的,加压到网站根目录直接访问就可以使用。 下载地址
命令行下 初识 redis 入门教程的更多相关文章
- 命令行下class redis not found 解决
1.在命令行下输入 php --ini 2.在浏览器中查看 phpinfo() 可以看出,我 的phpinfo和命令行的就不是一个php.ini文件.因为我有几个版本的php , 并且在环境变量中配 ...
- python命令行下安装redis客户端
1. 安装文件: https://pypi.python.org/pypi/setuptools 直接下载然后拷贝到python目录下同下面步骤 下载 ez_setup.py>>> ...
- 超强、超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么2.redis的作者何许人也3.谁在使用red ...
- 超详细Redis入门教程【转】
这篇文章主要介绍了超强.超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 [本教程目录] 1.redis是什么 2.redis的作者何许人也 3.谁在使 ...
- IntelliJ IDEA下Git的配置与使用(命令行下)
1. 安装Git并配置好Git 安装与配置参见Git与码云(Git@OSC)入门-如何在实验室和宿舍同步你的代码(1)中的2.在本机安装Git与3.1 配置git. 2. 创建远程仓库 在gitee. ...
- Redis入门教程(二)
推荐阅读: Redis入门教程(一)https://www.cnblogs.com/jichi/p/10285346.html 5. Redis 的数据结构 5.1 Redis 数据结构介绍 redi ...
- Redis入门教程(三)— Java中操作Redis
在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ...
- Redis入门教程:特性及数据类型的操作
虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...
- 【原】Redis入门教程
最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...
随机推荐
- Xcode6制作动态及静态Framework[repost]
有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着xCode6的发布,相 ...
- Android-图像原理/绘制原理
图像原理 先专门讲解图片,一想到图片有那些特点: 宽/高 格式jpg/jpeg/... 大小43.kb/... 图片是由像素点组成:像素点是正方形的,只是像素点很小很多,看起来可以拼接圆形⭕️, ...
- pro1
#include<iostream> using namespace std; int main(void) { int i,a[],sum; cin>>i; for(i=0; ...
- C/C++内存泄露及检测工具
内存泄漏的定义 一般我们常说的内存泄漏是指堆内存的泄漏.堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内 存.应用程序一般使用malloc,re ...
- 微信小程序web-view之wx.miniProgram.redirectTo
17年微信小程序官方提供了web-view组件. 官方描述:web-view组件是一个可以用来承载网页的容器,会自动铺满整个小程序页面.个人类型与海外类型的小程序暂不支持使用. 这段时间研究了一下小程 ...
- ASP.NET2.0 Newtonsoft.Json 操作类分享
JSON 是现在比较流行的数据交互格式,NET3.0+有自带类处理JSON,2.0的话需要借助Newtonsoft.Json来完成,不然自己写的话,很麻烦. 网上搜索下载 Newtonsoft.Jso ...
- vs 你不得不会的调试方式
常规调试F5 一般情况下,我们在使用vs的jdk调试程序,通常是使用F5这种常规编译方式,很方便 but,编译的速度是so慢,慢的让人无法忍受,通常一个稍大一点的项目跑起来就需要一分钟,甚至两分钟,作 ...
- “全栈2019”Java多线程第八章:放弃执行权yield()方法详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- es6中export、export default、import的理解
export 与 import 的使用 export 与import是es6中新增模块功能最主要的两个命令.我们要知道在es6中,实现了模块功能,而且相当简单,意在取代commonjs和AMD规范.成 ...
- 洛谷P5280 [ZJOI2019]线段树(线段树)
题面 传送门 题解 考场上就这么一道会做的其它连暴力都没打--活该爆炸-- 首先我们得看出问题的本质:有\(m\)个操作,总共\(2^m\)种情况分别对应每个操作是否执行,求这\(2^m\)棵线段树上 ...