Dec 6
1.编写shell脚本 /etc/pdf2swf.sh

#!/bin/sh
# 上传文件路径- 需要改成实际路径#
dirt=/opt/xxx/data/upload/$(date +%Y)/$(date +%m)$(date +%d)/$(date +%k)


# tran begin #
cd $dirt
for i in *.pdf;do

s1=$i;
s2=${i%%\.*}.swf

if [ ! -s $s2 ];
then
pdf2swf -s languagedir=/usr/local/xpdf-chinese-simplified -T 9 -s poly2bitmap -s zoom=72 -s flashversion=9 "$s1" -o "$s2"
fi
done

添加可执行权限

2.在计划任务中添加此脚本
crontab -e

*/1 * * * *  /etc/pdf2swf.sh
Dec 6
主:192.168.1.200 6379
从:192.168.1.200 6380

1.相关命令
启动服务命令: redis-server /etc/redis/redis.conf
终端下启动客户端命令: redis-cli -h 192.168.1.200 -p 6379

2.主服务设置

cp /xxx/redis.conf /etc/redis/redis.conf   #其中xxx为redis的安装目录
vi /etc/redis/redis.conf

修改以下配置

pidfile /var/run/redis.pid
bind  192.168.1.200
logfile /data/redis/redis.log
dbfilename dump.rdb
dir /data/redis/

3.Redis从服务器设置

cp /etc/redis/redis.conf /etc/redis/redis_slave.conf
vi /etc/redis/redis_slave.conf

修改以下配置

port 6380
pidfile /var/run/redis_slave.pid
logfile /data/redis/redis_slave.log
dbfilename dump_slave.rdb
dir /data/redis/


并在最后添加:slaveof 192.168.1.200 6379
如果有密码,则再加上:masterauth 123456

4.Redis PHP扩展phpredis的安装配置。
1)获取phpredis软件包,在redis官方网站clients里面下载PHP扩展所需要的软件包(https://github.com/owlient/phpredis/downloads)phpredis-master.zip。
或者使用git 获取

git clone git://github.com/nicolasff/phpredis.git
cd ./phpredis

2)安装配置phpredis。

unzip phpredis-master.zip
cd phpredis-master
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config
make && make install

3)php.ini中添加extension=redis.so,重启服务。

5.将redis主从设置成开机启动
PS:发现直接将命令  redis-server /etc/redis/redis.conf 加入到 /etc/rc.d/rc.local 没有效果,只好另外寻找方法。
第1步:先编写主服务开机启动sh脚本 /etc/init.d/redis

PATH=/usr/local/bin:/sbin:/usr/bin:/bin

REDISPORT=6379
EX_EC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/etc/redis/redis.conf"

case "$1" in
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EX_EC $CONF
        fi
        if [ "$?"="0" ]
        then
              echo "Redis is running..."
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
                echo "Stopping ..."
                $REDIS_CLI -p $REDISPORT SHUTDOWN
                while [ -x ${PIDFILE} ]
               do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
   restart|force-reload)
        ${0} stop
        ${0} start
        ;;
  *)
    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
        exit 1
esac

第2步:编写从服务脚本
cp  /etc/init.d/redis  /etc/init.d/redis_slave
修改

REDISPORT=6379
PIDFILE=/var/run/redis.pid
CONF="/etc/redis/redis.conf"



REDISPORT=6380
PIDFILE=/var/run/redis_slave.pid
CONF="/etc/redis/redis_slave.conf"


第3步:修改权限并chkconfig

chmod 0777 /etc/init.d/redis*
chkconfig redis on
chkconfig redis_slave on

第4步:加入到开机启动

vi /etc/rc.d/rc.local

加入下面2行

service redis start
service redis_slave start




Dec 5

phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系

很有用;以下是redis官方提供的命令使用技巧:

下载地址如下:

https://github.com/owlient/phpredis(支持redis 2.0.4)


Hash操作
hSet
$redis->hSet('h', 'key1', 'hello');
向名称为h的hash中添加元素key1—>hello

hGet
$redis->hGet('h', 'key1');
返回名称为h的hash中key1对应的value(hello)

hLen
$redis->hLen('h');
返回名称为h的hash中元素个数

hDel
$redis->hDel('h', 'key1');
删除名称为h的hash中键为key1的域

hKeys
$redis->hKeys('h');
返回名称为key的hash中所有键

hVals
$redis->hVals('h')
返回名称为h的hash中所有键对应的value

hGetAll
$redis->hGetAll('h');
返回名称为h的hash中所有的键(field)及其对应的value

hExists
$redis->hExists('h', 'a');
名称为h的hash中是否存在键名字为a的域

hIncrBy
$redis->hIncrBy('h', 'x', 2);
将名称为h的hash中x的value增加2

hMset
$redis->hMset('user:1', array('name' => 'Joe', 'salary' => 2000));
向名称为key的hash中批量添加元素

hMGet
$redis->hmGet('h', array('field1', 'field2'));
返回名称为h的hash中field1,field2对应的value

redis 操作相关
flushDB
清空当前数据库

flushAll
清空所有数据库

randomKey
随机返回key空间的一个key
$key = $redis->randomKey();

select
选择一个数据库
move
转移一个key到另外一个数据库
$redis->select(0); // switch to DB 0
$redis->set('x', '42'); // write 42 to x
$redis->move('x', 1); // move to DB 1
$redis->select(1); // switch to DB 1
$redis->get('x'); // will return 42

rename, renameKey
给key重命名
$redis->set('x', '42');
$redis->rename('x', 'y');
$redis->get('y'); // → 42
$redis->get('x'); // → `FALSE`

renameNx
与remane类似,但是,如果重新命名的名字已经存在,不会替换成功

setTimeout, expire
设定一个key的活动时间(s)
$redis->setTimeout('x', 3);

expireAt
key存活到一个unix时间戳时间
$redis->expireAt('x', time() + 3);

keys, getKeys
返回满足给定pattern的所有key
$keyWithUserPrefix = $redis->keys('user*');

dbSize
查看现在数据库有多少key
$count = $redis->dbSize();

auth
密码认证
$redis->auth('foobared');

bgrewriteaof
使用aof来进行数据库持久化
$redis->bgrewriteaof();

slaveof
选择从服务器
$redis->slaveof('10.0.1.7', 6379);

save
将数据同步保存到磁盘

bgsave
将数据异步保存到磁盘

lastSave
返回上次成功将数据保存到磁盘的Unix时戳

info
返回redis的版本信息等详情
Aug 31
1. for,foreach 一个数组
float f[]= new float[10];
for(int i=0;i<10;i++){
f[i] = i;
}

for(float x:f);
//将每个f元素赋值给每个x 相当与 php的foreach(f as x)

2.重载的区分
2.1方法的重载:一个类中包括多个同名的方法
2.2 不同参数类型来区分
2.3 不同类型参数顺序不同来区分

3.不要到处使用this,this只用在区分不同实例的情景下

4.构造器调用构造器
4.1说明:一个类可以有多个同名构造器,区分方式如方法的重载
4.2 demo
public class Demo{
     int d = 0;
     String s = ' here :';
     Demo(int t){
          d= t;
          this('d='+d); //构造器调用构造器
     }
     Demo(String ss){
         s += ss;
         System.out.println(s);
    }
}

4.3构造器只能在构造器中被调用

5.显示的初始化 {}

public class Spoon{
     static int i;
     static {
          i = 47;          
     }
     DemoClass a;
     DemoClass b;
     {
         a = new DemoClass(1);
         b = new DemoClass(2);
    }
    
}

6.数组的string化

Arrays.toString(f);


Aug 31
1.组合语法a.toString
b.toString
2.继承语法
extends (构造器调用,默认不带参数)

3.代理


分页: 3/61 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]