命令行下 初识 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 ...
随机推荐
- (二分搜索 )Strange fuction -- HDU -- 2899
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2899 Time Limit: 2000/1000 MS (Java/Others) Memory ...
- [转]细说 ASP.NET Cache 及其高级用法
本文转自:http://www.cnblogs.com/fish-li/archive/2011/12/27/2304063.html 阅读目录 开始 Cache的基本用途 Cache的定义 Cach ...
- C++中的关键知识点(汇总)
1. class的virtual 与non-virtual的区别 (1)virtual 函数时动态绑定,而non-virtual是静态绑定,前者是多态效果. (2)多态类的析构函数应该为virtual ...
- 测试嵌入GeoGebra网页
使用 http://ggbstudy.top/tools/ggb2html/ 将GGB文件免费托管,然后在博客内容中点击“HTML”按钮插入GGB网页地址: <iframe src=" ...
- day14(带参装饰器,迭代器,生成器,枚举对象)
一,复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...
- Xshell传输文件
用rz,sz命令在xshell传输文件 很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz 首先你的Ubuntu需要安装rz.sz(如果没有安装请执 ...
- maven项目打jar包
打包有两种方式: 1.直接 项目--右键--export,选择JAR file打包(不推荐这种方式): 这样直接打的包通过java -jar 会提示“没有主清单属性”,需要修改jar包中的MANIFE ...
- ASP.NET 常用的字符串加密
字符串常用的加密有三种 1.MD5加密,这个常用于密码,单向加密,不可解密,有些在线解密的可以解大部份,用代码不能实现,如果不想让人解密,加密后随便截取一段就好了: 2.Base64位加密,通常加密后 ...
- .Net core 2.0的数据初始化
在StartUp.cs里面,添加Seed方法 public static void Seed(IApplicationBuilder applicationBuilder) { using (var ...
- 浅析C#中的IEquatable<T>接口
1.引言 首先我们先来看看IEquatable<T>接口的出现解决了什么问题. 我们知道,Object基类的Equals方法存在两个明显的问题.一是缺乏类型安全性,二是对于值类型而言需要装 ...