Redis 实践3-操作

string常用操作

set key1  aminglinux

get key1

set key1  aming //一个key对应一个value,多次赋值,会覆盖前面的value

setnx key2 aaa   //返回1

get key2

setnx key2 bbb  //返回0

说明:setnx 如果key存在,则返回0,不存在会直接创建这个key

setex key3  10  1  //这个是用来给key设定过期时间的

mset  key1 1  key2 2 key3  3   //同时设置多个key

mget key1 key2 key3

Hash数据常用操作

hset user1  name aming  //建立hash

hset user1 age 30

hset user1 job  it

hget all user1

hmset user2  name aming age 30  job it    //批量建立键值对

hmget user2

hmget user2 name age  job

hdel user2 job   //删除指定filed

hkeys user2   //打印所有的key

hvals user2  //打印所有的values

hlen user2  //查看hash有几个filed

list数据常用操作

lpush lista a  //从左侧压入一个元素

lpush lista b

lrange lista 0 -1 //0 为头,-1为尾

lpop lista  //从左侧取出

rpush lista 1   //从右侧压入一个元素

rpush lista 2

lrange lista 0 -1

rpop lista   //从右侧取第一个元素

linsert lista before  2 3  //在2的前面插入一个元素为3

lset lista 4 bbb //把第5个元素修改为bbb

lindex lista 0  //查看第1个元素

lindex lista 3  //查看第4个元素

llen lista //查看链表中有几个元素

set数据常用操作

sadd seta aaa //向集合seta中放入元素

smembers seta   //查看集合中的所有元素

srem seta    aaa //删除元素

spop seta    //随机取出一个元素,删除

sdiff seta  setb   //求差集,以seta为标准

sdiffstore setcseta setb  //求差集并且存储,存储到了setc里

sinter seta setb    //求交集

sinterstore setdseta setb //将交集存储setd

sunionseta setb  //求并集

sunionstore seteseta setb   //求并集并存储到sete

sismemberseta aaa  //判断一个元素是否属于一个集合

srandmember seta  //随机取出一个元素,但不删除

zset数据常用操作

zadd zseta 11 123//创建有序集合

zrange zseta 0 -1   //显示所有元素,按顺序显示

zrange zseta 0 -1 withscores   //可以带上分值

zrem zseta 222  //删除指定元素

zrank zseta  222  //返回元素的索引值,索引值从0开始,按score正向排序

zrevrank zseta 222   //同上,不同的是,按score反序排序

zrevrange  zseta  0 -1  反序显示所有元素,并带分值

zcard zseta  //返回集合中所有元素的个数

zcount  zseta 1 10  //  返回分值范围1-10的元素个数

zrangebyscore  zseta 1 10 // 返回分值范围1-10的元素

zremrangebyrank zseta  0 2  //删除索引范围0-2的元素,按score正向排序

zremrangebyscore zseta  1 10 //删除分值范围1-10的元素

键值相关操作

keys *    //取出所有key

keys my* //模糊匹配

exists name  //有name键 返回1 ,否则返回0;

del  key1 // 删除一个key    //成功返回1 ,否则返回0;

EXPIRE key1 100  //设置key1 100s后过期

ttl key // 查看键 还有多长时间过期,单位是s,当key 不存在时,返回-2 。 当 key 存在但没有设置剩余生存时间时,返回-1 。 否则,返回key 的剩余生存时间。

select  0  //代表选择当前数据库,默认进入0 数据库

move age 1  // 把age 移动到1 数据库

persist key1   //取消key1的过期时间

randomkey//随机返回一个key

rename oldname newname//重命名key

type key1 //返回键的类型

服务相关操作

dbsize  //返回当前数据库中key的数目

info  //返回redis数据库状态信息

flushdb //清空当前数据库中所有的键

flushall    //清空所有数据库中的所有的key

php中应用redis

Redis扩展模块安装

wget https://codeload.github.com/phpredis/phpredis/zip/develop

mv develop phpredis.zip

unzip phpredis.zip

cd phpredis-develop

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

vim /usr/local/php/php.ini  // 增加一行extension = redis.so

/usr/local/php/bin/php -m |grep redis 检查是否成功

php redis中文文档 http://www.cnblogs.com/weafer/archive/2011/09/21/2184059.html

Redis实现session共享

php.ini中加入

session.save_handler = "redis"

session.save_path = "tcp://127.0.0.1:6379"

或者apache虚拟主机加入

php_value session.save_handler " redis"

php_value session.save_path " tcp://127.0.0.1:6379"

或者php-fpm.conf对应的pool中加入

php_value[session.save_handler] = redis

php_value[session.save_path] = " tcp://127.0.0.1:6379 "

Redis存储session测试

wget  http://study.lishiming.net/.mem_se.txt

mv .mem_se.txt  /usr/local/apache2/htdocs/session.php

curl localhost/session.php

输出类似于 1443710814<br><br>1443710814<br><br>9jm6nom9ogojedj3pth0iscv22

连接redis:

/usr/local/redis/bin/redis-cli

127.0.0.1:6379> keys * //可以把所有的key都列出来

"PHPREDIS_SESSION:9jm6nom9ogojedj3pth0iscv22"

127.0.0.1:6379> get PHPREDIS_SESSION:9jm6nom9ogojedj3pth0iscv22

"TEST|i:1443710814;TEST3|i:1443710814;"

时间: 2024-10-13 22:49:56

Redis 实践3-操作的相关文章

节约内存:Instagram的Redis实践(转)

add by zhj:本文只翻译了一部分,更多分析要参考英文原文 译文:节约内存:Instagram的Redis实践 英文原文:Storing hundreds of millions of simple key-value pairs in Redis Instagram可以说是网拍App的始祖级应用,也是当前最火热的拍照App之一,Instagram的照片数量已经达到3亿,而在Instagram里,我们需要知道每一张照片的作者是谁,下面就是Instagram团队如何使用Redis来解决这个问

节约内存:Instagram的Redis实践(转)

一.问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 三.主流解Cache和数据库对比: 从以上各数据可知,对于我们产品最可行的技术方案有两种: 1.Memcached         内存Key-Value Cache 2.Redis                     内存数据库 四,节约内存:Instagram的Redis实践 Instagram可以说是网拍App的始祖级应用,也是当

redis的hash操作在集中式session中的应用

在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共享的两大因素: 1. session必须有ha机制,集群中部分服务器发生故障时,保证session不丢失. 2. session的生命周期管理. 3. session的大小未知,整体的序列化和反序列化成本比较高. redis的解决方式 1. redis具有持久化功能,且sentiment具有ha功效

Redis的相关操作

参考文献:http://www.runoob.com/redis/redis-transactions.html redis下载(Windows安装)D:\downloads\redis>redis-server.exe redis.windows.conf(启动服务)打开另一个cmd终端:D:\downloads\redis>redis-cli(打开本地连接)D:\downloads\redis>redis-cli.exe -h 127.0.0.1 -p 6379(打开远程连接,然后打

redis集群介绍、redis集群搭建配置、redis集群操作

一:redis集群介绍 多个redis节点网络互联,数据共享所有的节点都是一主一从(可以是多个从),其中从不提供服务,仅作为备用不支持同时处理多个键(如mset/mget),因为redis需要把键均匀分布在各个节点上,并发量很高的情况下同时创建键值会降低性能并导致不可预测的行为.支持在线增加.删除节点客户端可以连任何一个主节点进行读写 二:redis集群搭建配置 场景设置:两台机器,分别开启三个Redis服务(端口)A机器上三个端口7000,7002,7004,全部为主B机器上三个端口7001,

Redis实践

博文结构介绍 1.博文概要Redis简介Redis安装及基本配置Redis持久化Redis多数据类型开发(了解)Redis复制及高可用Redis 集群分片Redis API支持(Python篇) 2.软件获取和帮助获取Redis.ioDownload/redis.ioRedisdoc.comredis.cn 3.redis的核心特性高速读写数据类型丰富支持持久化多种内存分配及回收策略支持事务消息队列.消息订阅支持高可用支持分布式分片集群 与memeched区别:支持事务数据类型丰富支持持久化支持

缓存数据库-redis数据类型和操作(list)

转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素). List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: 二:列表常用操作 1)lpush(name,values)  在name对应的l

Redis 以及 Python操作Redis

Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. -- Redis支持五种数据类型. -- Redis支持数据库备份. Redis的优势: -- Redis性能极高,读的速度是110000次/s,写的速度是81000次/s. -- Redis丰富的数据类型,String,Lists,Hashes,Sets以及Ordered S

redis之常见操作

目录 redis的常见操作 1. redis客户端登录方式 2. 设置密码 3. 获取redis的配置 4. redis键(key) 语法 实例 Redis keys (黄色为重点) redis的常见操作 1. redis客户端登录方式 本地使用redis客户端登录 redis-cli 远程服务器上使用客户端登录 # 格式 redis-cli -h host -p port -a password 2. 设置密码 在配置文件中配置密码(即使重启服务也能有效) # 编辑redis的配置文件 red

redis的常用操作

redis的介绍: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis