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扩展模块安装
 
 
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 检查是否成功
 
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测试
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;"
 

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

  1. Redis 实践笔记

    本文来自:http://www.cnblogs.com/me-sa/archive/2012/03/13/redis-in-action.html 最近在项目中实践了一下Redis,过程中遇到并解决了 ...

  2. redis的一些操作

    public class WnsRedisFactory { private static Cache pool = null; private static JedisConnectionFacto ...

  3. python之redis和memcache操作

    Redis 教程 Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理.Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据 ...

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

    一.问题:     数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案:      1.通过高速服务器Cache缓存数据库数据      2.内存数据库 三.主流解Ca ...

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

    在集群部署时,为了高可用性的目的,往往把session进行共享,共享分为两种:session复制和集中式管理. redis在session集中式管理中可以起到比较大的作用. 制约session集中式共 ...

  6. Redis客户端API操作 Jedis详解

    redis是一个著名的key-value存储系统,也是nosql中的最常见的一种.其实,个人认为,redis最强大的地方不在于其存储,而在于其强大的缓存作用. 我们可以把它想象成一个巨大的(多借点集群 ...

  7. Spring Boot 整合 Redis 实现缓存操作

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢!   『 产品没有价值,开发团队再优秀也无济于事 – <启示录> 』   本文提纲 ...

  8. Python编程从入门到实践笔记——操作列表

    Python编程从入门到实践笔记——操作列表 #coding=utf-8 magicians = ['alice','david','carolina'] #遍历整个列表 for magician i ...

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

    转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部( ...

  10. redis键值操作

    1.1. redis键值操作 1.1.1. keys patten 查询相应的key 可以精确的查,也可以模糊的查 1.1.1.1. 通配符:* ? [] 在redis里,模糊查询key的时候有3个通 ...

随机推荐

  1. webpack+vue项目实战(四,前端与后端的数据交互和前端展示数据)

    地址:https://segmentfault.com/a/1190000010063757 1.前言 今天要做的,就是在上一篇文章的基础上,进行功能页面的开发.简单点说呢,就是与后端的数据交互和怎么 ...

  2. 前端css常用class命名id命名

    1.常用id的命名: (1)页面结构 容器: container 页头:header 内容:content/container 页面主体:main 页尾:footer 导航:nav 侧栏:sideba ...

  3. Linux磁盘热插拔命令

    对于支持热插拔SCSI技术的服务器,SCSI硬盘和磁带机可以在Linux下实现在线添加和移除,有两种方法实现,先说麻烦的 具体方法如下: 一. 添加或者删除硬盘/磁带机: # echo "s ...

  4. 解决跨站脚本注入,跨站伪造用户请求,sql注入等http安全漏洞

    跨站脚本就是在url上带上恶意的js关键字然后脚本注入了,跨站伪造用户请求就是没有经过登陆,用超链接或者直接url上敲地址进入系统,类似于sql注入这些都是安全漏洞. sql注入 1.参数化查询预处理 ...

  5. 【转】判断点在多边形内(matlab)

    inpolygon -Points inside polygonal region Syntax IN = inpolygon(X,Y,xv,yv)[IN ON] = inpolygon(X,Y,xv ...

  6. 【转】shell字符串截取

    shell字符串的截取的问题: 一.Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 8 2.echo $a|awk ‘{print substr( ...

  7. 【转】vim取消高亮显示

    vim是vi的加强版. 进入vim或编辑完毕按esc后,输入/可帮助查找字符串,例如/main帮助查找main函数,找到的main高亮显示. 取消高量显示的两个办法: 1)按esc键,输入:nohl ...

  8. 几次面试后才弄懂的HashMap

    本人大四,以前也开发过几个项目,Map相关集合也总用.但是从来没有研究过底层的实现,只知道杂用.结果在最开始的几次面试中一脸懵逼.认识到不足后,浅显的学习了一下,总结成一下几点.(如果写错了还望指正) ...

  9. 编译和解释性语言和python运行方式

    1.编译型语言和解释性语言 编译型语言:在执行之前需要一个专门的编译过程,把程序编译成为机器语言的文件,运行时不需要重新翻译,直接使用编译的结果就行了.程序执行效率高,依赖编译器,跨平台性差些.如C. ...

  10. ABP框架源码学习之修改默认数据库表前缀或表名称

    ABP框架源码学习之修改默认数据库表前缀或表名称 1,源码 namespace Abp.Zero.EntityFramework { /// <summary> /// Extension ...