Mac redis入门
Mac redis入门
一、Redis简介
Redis是开源的key-value数据库,运行在内存中,但可以把数据持久化存到磁盘。Redis具有极高的性能,也为各种语言提供了丰富的接口,因此有着广泛的应用。
二、Mac下安装
直接用brew一行命令解决问题
$ brew install redis
启动服务
$ redis-server

测试连接
另开一个终端,输入ping,如果输出pong表示连接成功
$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
三、redis数据类型
1. String(字符串)
用get、set访问和设置
127.0.0.1:6379> set a 'hello'
OK
127.0.0.1:6379> get a
"hello"
127.0.0.1:6379>
2. Hash(哈希)
用hget、hset访问和设置,哈希表内部的键用field来表示
127.0.0.1:6379> HSET myhash field1 'hello' field2 'world'
(integer) 2
127.0.0.1:6379> HGET myhash field1
"hello"
127.0.0.1:6379> HGET myhash field2
"world"
3、List(列表)
lpush、rpush表示从左、右插入数据,lpop、rpop表示从左、右弹出数据
127.0.0.1:6379> LPUSH list a
(integer) 1
127.0.0.1:6379> LPUSH list b c
(integer) 3
127.0.0.1:6379> LRANGE list 0 5
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> RPUSH list d
(integer) 4
127.0.0.1:6379> LRANGE list 0 5
1) "c"
2) "b"
3) "a"
4) "d"
127.0.0.1:6379> LPOP list
"c"
127.0.0.1:6379> LRANGE list 0 5
1) "b"
2) "a"
3) "d"
127.0.0.1:6379>
4、Set(集合)
数学意义上的无序不重复集合,元素类型为字符串,sadd添加元素,srem删除元素
127.0.0.1:6379> SADD set redis
(integer) 1
127.0.0.1:6379> SADD set mongodb rabitmq
(integer) 2
127.0.0.1:6379> SADD set redis
(integer) 0
127.0.0.1:6379> SMEMBERS set
1) "mongodb"
2) "rabitmq"
3) "redis"
127.0.0.1:6379> srem set 'redis'
(integer) 1
127.0.0.1:6379> SMEMBERS set
1) "mongodb"
2) "rabitmq"
5、Zset(Sorted set有序集合)
与set类似,但根据score排序
127.0.0.1:6379> ZADD sorted 1 hello
(integer) 1
127.0.0.1:6379> ZADD sorted 5 world
(integer) 1
127.0.0.1:6379> ZADD sorted 3 redis
(integer) 1
127.0.0.1:6379> ZRANGE sorted 0 5
1) "hello"
2) "redis"
3) "world"
127.0.0.1:6379>
三、Python接口
# coding=utf-8
import redis
client = redis.Redis()
print '---------------'
print 'string测试'
client.set('foo', 1)
print client.get('foo')
client.set('foo', 'you are fine') # 已存在的键直接覆盖值
print client.get('foo')
client.delete('foo') # 删除
print client.get('foo')
client.set('num', 5)
client.incr('num')
client.incrby('num', 5)
print client.get('num')
print '---------------'
print 'hash测试'
client.hset('car', 'price', 400)
print client.hget('car', 'price')
print client.exists('car') # 测试key是否已经存在
print client.hexists('car', 'price') # 测试hash中的键是否存在
print client.hexists('car', 'type')
print client.hsetnx('car', 'name', 'jack') # 字段不存在时才赋值,nx表示not exist
print client.hsetnx('car', 'name', 'jom')
print '---------------'
print 'List测试'
client.lpush('double_list', 1)
client.lpush('double_list', 2)
client.lpush('double_list', 3)
client.rpush('double_list', 4)
client.lpop('double_list')
num = client.llen('double_list')
print client.lrange('double_list', 0, num)
print '---------------'
print 'set测试'
client.sadd('my_set', 1)
client.sadd('my_set', 1)
client.sadd('my_set', "abc")
client.sadd('my_set', 123)
client.sadd('my_set', -1)
client.srem('my_set', 1) # remove
print client.smembers('my_set')
print '---------------'
print 'sorted set测试'
client.zadd('sorted', 'field1', 1, 'field2', 2)
client.zadd('sorted', 'field3', 4, 'field4', 3)
print client.zrange('sorted', 0, 1)
运行结果
---------------
string测试
1
you are fine
None
11
---------------
hash测试
400
True
True
False
0
0
---------------
List测试
['2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '4', '4', '4', '4', '4']
---------------
set测试
set(['123', 'abc', '-1'])
---------------
sorted set测试
['field1', 'field2']
Mac redis入门的更多相关文章
- Redis入门教程:特性及数据类型的操作
虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...
- redis入门(三)
目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...
- 安装redis入门
redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- Redis入门指南
随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...
- 【原】Redis入门教程
最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...
- windows下使用redis,Redis入门使用,Redis基础命令
windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...
随机推荐
- 437. 路径总和 III
方法一:48 ms /* sumUp递归子程序求解以root为根节点的子节点之和为sum的路径数目; pathSum递归部分是把根节点逐一考察,如以root->left,以root->ri ...
- python--自己实现的单链表常用功能
最近一个月,就耗在这上面吧. 很有收获的. # coding = utf-8 # 单向链表 class Node: def __init__(self, new_data): self.data = ...
- Nodejs全局安装和本地安装的区别
全局安装 全局安装方式是键入命令:npm install gulp -g 或 npm install gulp --global,其中参数-g的含义是代表安装到全局环境里面 安装位置:包安装在Node ...
- Vs2017获取Git空仓库后创建解决方案及项目无法推送,推送失败的问题.
与Git无关,因为远程是空文件夹,导致没有远程版本做对应提示更改或怎样,必须在创建人创建仓库的时候上传文件代码. https://developercommunity.visualstudio.c ...
- 移动端开发demo—移动端web相册(一)
本文主要是介绍开发移动端web相册这样一案例用到的前置知识. 一.移动端样式 移动端更接近手机原生的方式. 如下是一个angular mobile的demo的例子: 移动端demo做成这样的好处: 在 ...
- 牛客网练习赛t2(线段树)
题解: 好像因为他说了 数据范围全部在ll以内 所以直接暴力就可以过了 比较正常是用线段树来维护 洛谷上有道模板题是支持加,乘,区间和 而这题还多了区间平方和的操作 按照那题的操作 我们维护的时候保证 ...
- Ubuntu下使用Evernote
Ubuntu下安装使用Evernote http://blog.csdn.net/yangzhuoluo/article/details/8118996 http://blog.csdn.net/ya ...
- 获取本地的ip,地址,code
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Codeforces 806 D. Perishable Roads Dijkstra
原文链接https://www.cnblogs.com/zhouzhendong/p/CF806D.html 题目传送门 - CF806D 题意 给定一个 n 个点的无向完全图,每一条边有一定的边权. ...
- ZJOI2018 胖 二分 ST表
原文链接https://www.cnblogs.com/zhouzhendong/p/ZJOI2018Day2T2.html 题目传送门 - BZOJ5308 题目传送门 - LOJ2529 题目传送 ...