Redis提供了一个命令行入门练习的web:http://try.redis.io/

///////////////////////////////////////////////////////////////////////////////

1.设置/获取键值

set key value

get key

实例:

> set name "apple"
OK
> get name
"apple"

///////////////////////////////////////////////////////////////////////////////

2.数值自增(类似i++),此操作属于原子操作,支持多并发

incr key

> set num 15
OK
> incr num
(integer) 16

///////////////////////////////////////////////////////////////////////////////

3.删除键值

del key

> set phone "IPhone6s"
OK
> get phone
"IPhone6s"
> del phone
(integer) 1
> get phone
(nil)

///////////////////////////////////////////////////////////////////////////////

4.设置/查看键值存活时间(单位:秒)

设置:expire key time

查看:ttl key

> set name "winson"
OK
> expire name 30
(integer) 1
> ttl name
(integer) 20
> ttl name
(integer) 11
> ttl name
(integer) -2

返回-2,表示该键值不存在。

> set name "Tom"
OK
> ttl name
(integer) -1

如果设置了一个键值,ttl key会返回-1,表示该键值没有设置存活时间,它会一直存在

///////////////////////////////////////////////////////////////////////////////

 5.往list添加元素。

往列表尾部添加元素:rpush list_name value

往列表头部添加元素:lpush list_name value

(integer) -1
> rpush fruits "apple"
(integer) 1
> rpush fruits "banana"
(integer) 2
> rpush fruits "orange"
(integer) 3
> lpush fruits "pear"
(integer) 4

///////////////////////////////////////////////////////////////////////////////

6.获取list的长度

llen list_name

> llen fruits
(integer) 4

///////////////////////////////////////////////////////////////////////////////

7.获取list元素(单纯获取,list中不删除)

获取整个list中的元素(0表示从list的起始下标索引,-1表示list的结尾):lrange list_name 0 -1

> lrange fruits 0 -1
1) "pear"
2) "apple"
3) "banana"
4) "orange"

指定获取list某个范围的元素(1表示起始下标,3表示结束下标):lrange list_name 1 3

> lrange fruits 1 3
1) "apple"
2) "banana"
3) "orange"

///////////////////////////////////////////////////////////////////////////////

 8.获取list中的元素(获取后从list中删除)

获取位于list头部的元素:lpop list_name

> lpop fruits
"pear"
> llen fruits
(integer) 3

获取位于list尾部的元素:rpop list_name

> rpop fruits
"orange"
> llen fruits
(integer) 2

///////////////////////////////////////////////////////////////////////////////

 9.添加元素到sets(排序规则与添加顺序无关)

sadd set_name value

> sadd devices "watch"
(integer) 1
> sadd devices "phone"
(integer) 1
> sadd devices "computer"
(integer) 1
> sadd devices "pad"
(integer) 1

///////////////////////////////////////////////////////////////////////////////

 10.获取sets中的成员

smembers set_name

> smembers devices
1) "phone"
2) "pad"
3) "computer"
4) "watch"

///////////////////////////////////////////////////////////////////////////////

11.删除sets中的成员,删除成功返回1,删除失败返回0

srem set_name value

> srem devices "computer"
1
> smembers devices
1) "phone"
2) "pad"
3) "watch"
> srem devices "sb"
0

///////////////////////////////////////////////////////////////////////////////

12.判断某value是否为sets中的成员。(1为true,0为false)

sismember set_name value

> sismember devices "pad"
(integer) 1
> sismember devices "padpad"
(integer) 0

///////////////////////////////////////////////////////////////////////////////

13.获取两个或多个sets的并集

sunion set_name1 set_name2

> sadd colors "red"
(integer) 1
> sadd colors "green"
(integer) 1
> sunion devices colors
1) "green"
2) "phone"
3) "watch"
4) "pad"
5) "red"

///////////////////////////////////////////////////////////////////////////////

 14.添加成员到有序的set集合,默认根据store进行升序排列

zadd set_name store value

> zadd days 45 "Monday"
(integer) 1
> zadd days 65 "Tuesday"
(integer) 1
> zadd days 55 "Wednesday"
(integer) 1

///////////////////////////////////////////////////////////////////////////////

 15.获取有序的set集合(参考【7】)

zrange set_name start_index end_index

> zrange days 0 -1
1) "Monday"
2) "Wednesday"
3) "Tuesday"

///////////////////////////////////////////////////////////////////////////////

16.添加hashes集合

hset hashes_name key value

> hset car name "BMW"
(integer) 1
> hset car price "46W RMB"
(integer) 1
> hset car Driver "winson"
(integer) 1

///////////////////////////////////////////////////////////////////////////////

17.获取hashes中的成员

获取所有的成员:hgetall hashes_name

> hgetall car
1) "name"
2) "BMW"
3) "price"
4) "46W RMB"
5) "Driver"
6) "winson"

获取指定的成员:hget hashes_name key

> hget car price
"46W RMB"

///////////////////////////////////////////////////////////////////////////////

18.hashes集合中的数值自增

hincrby hashes_name key count

> hset NBA store 54
(integer) 1
> hincrby NBA store 3
(integer) 57

///////////////////////////////////////////////////////////////////////////////

Redis 入门练习的更多相关文章

  1. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...

  2. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  3. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  4. Redis入门指南

    随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...

  5. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  6. 【原】Redis入门教程

    最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...

  7. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  8. Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

    Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...

  9. redis入门(15)redis的数据备份和恢复

    redis入门(15)redis的数据备份和恢复

  10. redis入门(14)redis集群下的数据分区存储

    redis入门(10)redis集群下的数据分区存储

随机推荐

  1. Linux课程实践三:简单程序破解

    一.基本知识 1. 常用指令机器码 不同版本对应机器码不同,这里以我做实验的kali(Intel 80386)为例. 指令 作用 机器码 nop 无作用(no operation) 90 call 调 ...

  2. 对于那本--你必须知道的499个C语言问题--总结

    (1)1.3 (2)1.10没看懂 (3)1.11和1.12都讲到了   静态变量和局部变量,那么这两个是啥啊,我不懂: (4)1.13针对那两个字符串定义为啥有问题,不懂 (5)2.8是做什么的 ( ...

  3. 介绍开源的.net通信框架NetworkComms框架 源码分析(二十三 )TCPConnection

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  4. 分享一个MarkDown的配色主题

      下载地址(戳我)

  5. Dalvik指令格式

    一段Dalvik汇编代码由一系列Dalvik指令组成,指令语法由指令的位描述与指令格式 标识来决定.位描述约定如下: 每16位的字采用空格分隔开来每个字母表示四位,每个字母按顺序从高字节开始,排列到低 ...

  6. fedora23 tweak tool不工作解决方案

    在启动器中打开 优化工具 失败 在终端中开启显示 Traceback (most recent call last): File "/usr/bin/gnome-tweak-tool&quo ...

  7. @ViewDebug.ExportedProperty的使用

    原文链接:http://daemon369.github.io/android/2014/06/12/android-viewdebug-exportedproperty/ http://www.eo ...

  8. Android根据文件路径使用File类获取文件相关信息

    Android通过文件路径如何得到文件相关信息,如 文件名称,文件大小,创建时间,文件的相对路径,文件的绝对路径等: 如图: 代码: public class MainActivity extends ...

  9. 后台dom拼接xml,动态显示统计图

    这个东西让我好生头疼,贴代码吧 // 两秒后模拟点击 setTimeout(function() { // IE if(document.all) { document.getElementById( ...

  10. 自定义citationstyles(cls)文献引用模板

    最近需要用国内某期刊的模板来写东西.所以需要自定义模板.国内的期刊主要遵循GB7714-2005的文献格式.对于经常使用Zotero.mendeley等免费的知识管理工具的同学,可以从这里获取cls模 ...