您的位置:首页 > 数据库 > Redis

命令行下 初识 redis 入门教程

2013-07-03 23:49 651 查看
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:6379> set email test@gmail.com
OK
redis 127.0.0.1:6379> setrange email 5 qq.com
(integer) 14
redis 127.0.0.1:6379> get email
"test@qq.comcom"
redis 127.0.0.1:6379> set email test@qq.com
OK
redis 127.0.0.1:6379> get email
"test@qq.com"
redis 127.0.0.1:6379> setrange email 5 gmail.com
(integer) 14
redis 127.0.0.1:6379> get email
"test@gmail.com"//简而言之,替换部分如果未超过原来字符串,则原本未被替换的字符串被保留下来。  如果被替换部分长度超过原来,则显而易见。


getrange,

redis 127.0.0.1:6379> set key1 123456789
OK
redis 127.0.0.1:6379> getrange key1 0 3
"1234"


incr,自增1, 如果键不存在,第一次自增相当于赋值 (decr

redis 127.0.0.1:6379> set key1 12
OK
redis 127.0.0.1:6379> incr key1
(integer) 13


incrby,增加 或 减少 (decrby

redis 127.0.0.1:6379> set key1 5
OK
redis 127.0.0.1:6379> incrby key1 -3
(integer) 2


append, 值后 拼接一个新字符串。 返回新串长度

strlen,

2. -------------------h : hash

这里截图2个, 说明普通键值对 与 hash key->value区别:

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"


View Code

sinter:集合间取交集

sinterstore:

sunion: 返回 并集

sunionstore:

smove:从第一个集合从 移除 指定key 并且 添加到 第二个集合中

redis 127.0.0.1:6379> smove set1 set2 two
(integer) 1
redis 127.0.0.1:6379> smembers set2
1) "three"
2) "two"
3) "one"


scard:查看集合元素个数

sismember: 判断 某元素 是否为 集合 当中 元素

srandmember:从集合中随机返回一个元素

5.sorted sets有序集合 zset

zadd:

zrange:

zrem:

redis 127.0.0.1:6379> zadd zset1 1 h
(integer) 1
redis 127.0.0.1:6379> zadd zset1 2 i
(integer) 1
redis 127.0.0.1:6379> zadd zset1 3 i//更新序号
(integer) 0
redis 127.0.0.1:6379> zrange zset1 0 -1
1) "h"
2) "i"
redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "h"
2) "1"
3) "i"
4) "3"
redis 127.0.0.1:6379> zrem zset1 i
(integer) 1
redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "h"
2) "1"


zincrby:集合中添加某元素,如果此元素不存在则直接添加进去。 如果存在,则序号自增incr,值不变。

redis 127.0.0.1:6379> zincrby zset1 2 h
"3"
redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "h"
2) "3"
redis 127.0.0.1:6379> zincrby zset1 1 i
"1"
redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "i"
2) "1"
3) "h"
4) "3"


zrank:返回集合 下标号

redis 127.0.0.1:6379> zrange zset1 0 -1
1) "i"//第0个元素
2) "h"//第1个元素
redis 127.0.0.1:6379> zrank zset1 i
(integer) 0
redis 127.0.0.1:6379> zrank zset1 h
(integer) 1


zrevrank:返回集合下标。 逆序排序后 得到指定元素的下标。 与zrank相反

zrevrange:降序排序

zrangebyscore:给定score范围内的元素

zscount:返回给定score区间内 元素个数

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "i"
2) "1"
3) "twooo"
4) "2"
5) "h"
6) "3"
7) "teno"
8) "6"
redis 127.0.0.1:6379> zrangebyscore zset1 2 9
1) "twooo"
2) "h"
3) "teno"
redis 127.0.0.1:6379> zcount zset1 2 6// 区间是[]    包括左右两边
(integer) 3


zcard: 返回集合中所有元素个数

zremrangebyrank : 删除指定 索引 区间内的  元素


redis 127.0.0.1:6379> zrange zset1 0 -1
1) "i"
2) "twooo"
3) "h"
4) "teno"
redis 127.0.0.1:6379> zremrangebyrank zset1 0 1
(integer) 2
redis 127.0.0.1:6379> zrange zset1 0 -1
1) "h"
2) "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数据。

-----------

直接下载总结好的,加压到网站根目录直接访问就可以使用。 下载地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: